Hallo,
ich habe einen Vector mit Objecten. Jedes Object hat einen Typ (int) einen Namen (string) und einen Wahrheitswert (boolean).
ich würde nun gerne die Objecte im Vector sortieren und zwar gleichzeitig nach diesen 3 Eigenschaften. Also alle Objecte nach dem Wahrweitswert sortieren innerhalb des Wahrweitswertes nach dem Typ und Innerhalb des Typs nach dem Namen.
Beispiel: In meine Liste sind 5 Elemente enthalten
Object1: TRUE 1 A
Object2: TRUE 1 B
Object3: FALSE 0 A
Object4: TRUE 2 C
Object5: FALSE 3 D
Nach der Sortierung soll die Liste wie folgt aussehen
Object1: TRUE 1 A
Object2: TRUE 1 B
Object4: TRUE 2 C
Object3: FALSE 0 A
Object5: FALSE 3 D
Wie macht man dies in Java ? Habt ihr Beispiele dazu ?
Danke
Albert
Hallo,
ich habe einen Vector mit Objecten. Jedes Object hat einen Typ
(int) einen Namen (string) und einen Wahrheitswert (boolean).
ich würde nun gerne die Objecte im Vector sortieren und zwar
gleichzeitig nach diesen 3 Eigenschaften. Also alle Objecte
nach dem Wahrweitswert sortieren innerhalb des Wahrweitswertes
nach dem Typ und Innerhalb des Typs nach dem Namen.
Beispiel: In meine Liste sind 5 Elemente enthalten
Object1: TRUE 1 A
Object2: TRUE 1 B
Object3: FALSE 0 A
Object4: TRUE 2 C
Object5: FALSE 3 D
Nach der Sortierung soll die Liste wie folgt aussehen
Object1: TRUE 1 A
Object2: TRUE 1 B
Object4: TRUE 2 C
Object3: FALSE 0 A
Object5: FALSE 3 D
als bool zahl buchstabe bezeichnet
Wie macht man dies in Java ? Habt ihr Beispiele dazu ?
Danke
Albert
mein vorschlag
Interface Comparable implementieren (=vergleichbar>>sortierbar)
dann musst du bei dem Objekt die
OBJEKT.compareTo(OBJEKT) Überschreiben
zB
public class Auto implements Comparable{
public int compareTo(Object o) {
if (o==null)return -1;
// erst nach bool
//sortiert
if (this.bool!=o.bool){
return (this.bool.compareTo(o.bool));
}
// dann Zahl, dann Buchstabe
...
}
}
dürfte dann mit myVector.sort(); funktionieren