Hallo,
ich habe ein Problem beim Sortieren von Objekt Arrays.
Ich möchte ein Array von Objekten mit zwei comparatoren sortieren.
Dazu vergleiche ich in jedem comparator den Wert nach dem Sortiert werden soll.
Im Hauptprogramm rufe ich dann Array.sort mit dem jeweiligen comparator auf.
Soweit kein Problem. Allerdings möchte ich das wenn ich nach dem ersten Wert sortiere und der Wert bei 2 Objekten gleich ist dann als zweites Kriterium den zweiten comparator nutzen.
Meine Idee war nun das sich die comparatoren einfach jeweils gegenseitig aufrufen.
Das klappt auch soweit außer natürlich wenn die Werte bei beiden comparatoren gleich sind - dann endet die Rekursion nie. Mein Problem ist nun das ich nicht weiß wo ich die return 0 zum Abbrechen einfügen soll oder ob es dafür generell eine andere Möglichkeit gibt.
Denn setz ich das return 0 vor dem rekursiven Aufruf wird dieser niemals ausgeführt, setz ich sie danach wird das return 0 niemals erreicht bei zwei gleichen werten.
über einen kleinen Denkanstoß wäre ich sehr dankbar.
MfG
Thongall
ich habe ein Problem beim Sortieren von Objekt Arrays.
Ich möchte ein Array von Objekten mit zwei comparatoren sortieren.
Dazu vergleiche ich in jedem comparator den Wert nach dem Sortiert werden soll.
Im Hauptprogramm rufe ich dann Array.sort mit dem jeweiligen comparator auf.
Soweit kein Problem. Allerdings möchte ich das wenn ich nach dem ersten Wert sortiere und der Wert bei 2 Objekten gleich ist dann als zweites Kriterium den zweiten comparator nutzen.
Meine Idee war nun das sich die comparatoren einfach jeweils gegenseitig aufrufen.
Das klappt auch soweit außer natürlich wenn die Werte bei beiden comparatoren gleich sind - dann endet die Rekursion nie. Mein Problem ist nun das ich nicht weiß wo ich die return 0 zum Abbrechen einfügen soll oder ob es dafür generell eine andere Möglichkeit gibt.
Denn setz ich das return 0 vor dem rekursiven Aufruf wird dieser niemals ausgeführt, setz ich sie danach wird das return 0 niemals erreicht bei zwei gleichen werten.
über einen kleinen Denkanstoß wäre ich sehr dankbar.
MfG
Thongall