X
xhi2018
Gast
Hallo,
kurze Frage / Tipp wie Ihr eine solche Situation lösen würdet:
Ich hab eine Liste (ArrayList) von Objekten, die zu sortieren sind (natural ordering). Die Klasse von der die Objekte in der Liste erzeugt werden implementiert das
Interface:
Das funktionierte auch soweit ganz gut. Doch nun hat sich herausgestellt, dass ich zwei ganz bestimmte Objekte, die immer in der Liste vorhanden sind, sich nicht an diese Sortierung halten dürfen.
Die Reihenfolge der Objekte muß ich nun vertauschen. Meine aktuelle Lösung sieht also so aus:
Jetzt ist es so, dass ich die Liste der Objekte später im Programm noch weiter verarbeitet wird. Also auch da könnte ich die Sortierung nochmals ändern. Meine Frage ist nun, wo würdet Ihr diese Änderung bei der Sortierung durchführen?
kurze Frage / Tipp wie Ihr eine solche Situation lösen würdet:
Ich hab eine Liste (ArrayList) von Objekten, die zu sortieren sind (natural ordering). Die Klasse von der die Objekte in der Liste erzeugt werden implementiert das
Code:
Comparable
Java:
public int compareTo(SortierObject other) {
return this.getSortParam().compareTo(other.getSortParam());
}
Die Reihenfolge der Objekte muß ich nun vertauschen. Meine aktuelle Lösung sieht also so aus:
Java:
public int compareTo(SortierObject other) {
if ( this.getSortParam().contains("objekt-nach-hinten") && other.getSortParam().contains("objekt-nach-vorne")) {
return 1;
}
return this.getSortParam().compareTo(other.getSortParam());
}
- in der
Code:
public int compareTo(Object other)
- später im Programm - da wo die Liste nochmals verarbeitet wird
- oder würdet Ihr das komplett anders lösen