Hi Leute,
ich hab ein Problem mit der Sortierung von TreeSet.
Ich füge Objekte in ein TreeSet ein, die anhand der Variable "Text" vom Typ String sortiert werden sollen (also "theObject.getText()"). Bei der Erzeugung des TreeSets gebe ich den Comparator für "getText" mit.
Beim Einfügen der Objekte (mit "theTreeSet.add()") ist auch alles schön sortiert. Wenn sich jetzt aber der String "Text" ändert, bleibt das Objekt gnadenlos an der gleichen Position und mein TreeSet ist nicht mehr sortiert.
Wenn ich jetzt also meine Objekte mit dem Iterator abfrage, kommen sie unsortiert zurück.
Ist das so richtig? Und was kann man dagegen tun?
Es gibt ja nichtmal eine Methode mit der man die Sortierung manuell wieder anstoßen könnte oder (wäre aber auch eher unpraktikabel)?
Ich könnte TreeSet auch durch eine andere Collection austauschen, aber nicht durch eine Map, da das Sortierattribut auch doppelt vorkommen könnte...
Habt ihr eine Idee?
Vielen Dank im Voraus!
Gruß Nova
ich hab ein Problem mit der Sortierung von TreeSet.
Ich füge Objekte in ein TreeSet ein, die anhand der Variable "Text" vom Typ String sortiert werden sollen (also "theObject.getText()"). Bei der Erzeugung des TreeSets gebe ich den Comparator für "getText" mit.
Beim Einfügen der Objekte (mit "theTreeSet.add()") ist auch alles schön sortiert. Wenn sich jetzt aber der String "Text" ändert, bleibt das Objekt gnadenlos an der gleichen Position und mein TreeSet ist nicht mehr sortiert.
Wenn ich jetzt also meine Objekte mit dem Iterator abfrage, kommen sie unsortiert zurück.
Ist das so richtig? Und was kann man dagegen tun?
Es gibt ja nichtmal eine Methode mit der man die Sortierung manuell wieder anstoßen könnte oder (wäre aber auch eher unpraktikabel)?
Ich könnte TreeSet auch durch eine andere Collection austauschen, aber nicht durch eine Map, da das Sortierattribut auch doppelt vorkommen könnte...
Habt ihr eine Idee?
Vielen Dank im Voraus!
Gruß Nova