Gibt die Funktion entrySet (), die von einer Treemap-Instanz aufgerufen wird, einen TreeSet-Eintrag oder nur einen Satz von entries zurück. Ist die Reihenfolge sichergestellt?
Anstatt es als eine Reihe von Einträgen zu bekommen, wie kann man eine Liste von Einträgen in der Reihenfolge bekommen?
Es ist umgekehrt: Ein TreeSet verwendet intern eine TreeMap. (Siehe ersten Satz der TreeSet-Dokumentation )
Es gibt nicht viel Sun-Java-Quellcode, den ich im Internet finden kann, aber hier sind einige ältere Versionen:
Wie Sie sehen, definiert TreeMap eine innere Klasse namens TreeMap.EntrySet , das nur AbstractSet erweitert. Und nein, es implementiert nicht SortedSet (was sonst wahrscheinlich wäre spezifiziert durch den SortedMap.entrySet () Vertrag) .
Aber um die eigentliche Frage zu beantworten: Ja, die Reihenfolge ist gewährleistet, wie in SortedMap.entrySet () Vertrag.
Update: JavaDoc-Links für Java 8 aktualisiert, Quellen sind immer noch Java 6
Aus dem JavaDoc :
public Set<Map.Entry<K,V>> entrySet()
Gibt eine Set-Ansicht der in dieser Map enthaltenen Mappings zurück. Die Sätze Iterator gibt die Einträge in aufsteigender Reihenfolge zurück.
Tags und Links java collections treemap