Sollte treeMap.entrySet () kein SortedSet zurückgeben?

8

Warum nicht treeMap.entrySet () und treeMap.keySet () -Methoden geben zurück SortedSet ? Ich könnte so weit gehen zu sagen, dass das ein Fehler ist. Gemäß der API Set ist definiert als keine bestimmte Reihenfolge zu haben. Die von TreeMap do zurückgegebenen Mengen haben jedoch eine bestimmte Reihenfolge.

    
red shoe 18.03.2015, 18:09
quelle

1 Antwort

10

Ich denke, wenn sie jetzt die Schnittstelle SortedMap geschrieben haben, würden sowohl keySet als auch entrySet SortedSet zurückgeben. Die Schnittstelle SortedMap wurde jedoch in Java 1.2 eingeführt, bevor kovariante Rückgabetypen zulässig waren. Sie können dies jetzt nicht ändern, da es Implementierungen von SortedMap gibt, für die keySet und entrySet eine Set zurückgibt, die nicht a SortedSet ist.

    
Paul Boddington 18.03.2015, 18:30
quelle

Tags und Links