Warum geben die Methoden treeMap.entrySet() und treeMap.keySet() nicht SortedSet zurück? Ich könnte so weit gehen zu sagen, dass das ein Fehler ist. Gemäß der API ist Set so definiert, dass sie keine bestimmte Reihenfolge hat. Die von TreeMap do zurückgegebenen Sätze weisen jedoch eine bestimmte Reihenfolge auf.Sollte treeMap.entrySet() kein SortedSet zurückgeben?
8
A
Antwort
10
Ich denke, wenn sie die Schnittstelle SortedMap
jetzt geschrieben haben, würden keySet
und entrySet
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, das ist nicht ein .
+0
Obwohl es kein SortedSet ist, definiert es tatsächlich, dass das zurückgegebene Set in aufsteigender Reihenfolge ist, wie im Javadoc der Schnittstelle "SortedMap" definiert. – Robin
Verwandte Themen
- 1. SortedSet mit INotifyPropertyChanged
- 2. Welchen Typ sollte myCustomDictionary.Values zurückgeben?
- 3. Sollte WepApi Controller Viewmodels zurückgeben
- 4. Welches Ergebnis sollte ich zurückgeben?
- 5. Wie die Reihenfolge des SortedSet
- 6. Warum scala's TreeSet SortedSet zurückgibt
- 7. SortedSet in Grails funktioniert nicht
- 8. von Abholung nach SortedSet Ändern
- 9. Python - Funktion sollte eine 2D-Liste zurückgeben
- 10. Sollte mysqli update Abfragen ein Ergebnis zurückgeben?
- 11. jsonb_populate_record/jsonb_populate_recordset sollte eine Tabelle zurückgeben
- 12. TypeError: __init __() sollte None zurückgeben, nicht 'int'
- 13. Sollte eine Verbindungsmethode einen Wert zurückgeben?
- 14. Sollte das wirklich eine leere String() zurückgeben?
- 15. Sollte ich List oder ArrayList zurückgeben
- 16. query.filter kann kein vollständiges Objekt zurückgeben
- 17. Was sollte die Suchmethode zurückgeben, wenn nichts gefunden wird?
- 18. MySQL Berechtigungen Problem - sollte kein Problem
- 19. Scala unveränderlich SortedSet sind nicht "stabil" beim Löschen
- 20. jQuery Ajax-Methoden, die kein XHR-Objekt zurückgeben
- 21. Java - Modifizierte compareTo Methode sagt, es muss eine int zurückgeben, aber es sollte eine zurückgeben
- 22. Kann eine HTTP OPTIONS-Anfrage eine 204 zurückgeben oder sollte sie immer 200 zurückgeben?
- 23. Sollte ich Methoden haben, die Listen von Einweg-Instanzen zurückgeben?
- 24. Sollte eine Methode Klasse oder Klasse <?> zurückgeben?
- 25. Sollte ich einen stark typisierten Datensatz von einem Webservice zurückgeben?
- 26. Vermeiden Sie std :: bad_alloc. new sollte einen Nullzeiger zurückgeben
- 27. Sollte ich verwaltetes Objekt auf JPA zurückgeben erstellen/bearbeiten
- 28. ASP.Net MVC ein Link sollte mehrere Seiten (Ansichten) zurückgeben
- 29. Sollte ich CompletableFuture oder Future beim Definieren der API zurückgeben?
- 30. PySpark Flatmap sollte Tupel mit typisierten Werten zurückgeben
Was lässt Sie denken, dass es kein 'SortedSet' zurückgibt (ich glaube, Sie haben' TreeSet' dort gemeint)? –
@RohitJain Das ist, was die API sagt. –
API sagt nur, dass es die 'Set'-Ansicht zurückgeben würde. Was die eigentliche 'Set'-Implementierung zurückgibt, ist nicht da und sollte nicht da sein. Das ist das Implementierungsdetail. –