TreeSet neu sortieren

Status
Nicht offen für weitere Antworten.

Tobias

Top Contributor
High,
hat das TreeSet eine Methode, damit es sich neu sortiert? In der API hab ich nichts gefunden, was passend aussah...
Ich hab nämlich folgendes Problem: Ich habe ein TreeSet, das per Comparator sortiert wird. Das für den Comparator wichtige Vergleichskriterium kann sich zur Laufzeit ändern, ein Neusortieren wäre nötig.
Gibt es dafür eine Methode, macht er das beim Einfügen eines neuen Schlüssels für alle Objekte automatisch oder gibt es einen anderen, eleganten Weg zur Lösung????

mpG
Tobias
 
Hey,

das TreeSet ist immer sortiert. Selbst wenn Du keinen comparator geschrieben hättest, sortiert es nach der "natürlichen Ordnung", was immer das in Deinem Fall sein mag.
Du brauchst also nicht immer "neu sortieren".

Grüße,
Mick
 
Sorry, hätte etwas genauer lesen sollen. 😉 Bin nicht ganz sicher, was ist, wenn Du den comparator änderst. Wie wär´s wenn Du es einfach mal ausprobierst?

Grüße,
Mick
 
das ist aber nicht das Problem - soweit ich verstanden habe.

Natürlich ist ein TreeSet immer sortiert, aber wenn sich die Sortierkriterien aber ändern - woher soll das TreeSet dann wissen, dass sich was geändert hat....

Mir ist leider keine update Methode des TreeSets bekannt. Daher würde ich intuitiv ein neues TreeSet mit dem geänderten Comparator erstellen und dann das alte TreeSet über addAll(Collection c) hinzufügen... Weiß leider nicht ob das klappt....
 
@deathbyaclown: So würde ich das auch machen, klingt für mich aber eher unschön... Viele tote Objekte, ne Menge Kopieraufwand... naja, was muß, das muß.

@Mick: Natürlich werde ich es ausprobieren und das Ergebnis hier bekannt geben - hatte nur heute keine Zeit dazu.

mpG
Tobias
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben