Dlaczego Java postanowiła zezwolić na 'null' jako klucz w HashMap? Jak wiemy hashcode() nie można obliczyć na wartości null. Czy jest jakiś wzgląd pod uwagę dla tej decyzji, aby zezwolić na klucz null w HashMap, którego nie ma w Hashtable (inne niż rozważanie jako wartość domyślna)?Java - przyczyny dla których wartość null jest kluczem HashMap?
5
A
Odpowiedz
6
Od JDK 1.2 Java Collections API Change Summary (nie wiem, gdzie znaleźć oficjalnej wersji na stronie Oracle):
Dodany null klucz wsparcie HashMap. Zostało to zrobione dla spójności z Mapą Map i późną, niezakłóconą ArrayMap, a ponieważ klienci poprosili o nią . Teraz wszystkie nasze implementacje kolekcji uniwersalnych akceptują puste klucze, wartości i elementy.
Joshua Bloch and Doug Lea disagreed on this, a to spowodowało problemy z concurrent hash maps.
Powiązane problemy
- 1. EL uzyskać wartość HashMap kluczem Integer
- 2. Metoda get hashmap nie zwraca wartość null
- 3. Używanie HashMap z kluczem niestandardowym
- 4. HashMap uzyskać zwraca null
- 5. Java Map zwraca wartość null dla klucza bieżącego
- 6. Powrót Wartość put() w HashMap: Java
- 7. Java Singleton.getInstance() zwraca wartość null?
- 8. Java - wyjątek JSON Null
- 9. Czy jest możliwe utworzenie `HashMap` z kluczem typu` * const Any`?
- 10. Znajdź słownika elementy, których kluczem mecze podciąg
- 11. Przyczyny, dla których nie ma indeksu klastrowanego w SQL Server 2005
- 12. Aktualizacja Java HashMap klucz
- 13. GROUP_CONCAT zwraca wartość NULL, jeśli wartość jest NULL
- 14. Dla każdej pętli na Java HashMap
- 15. HashMap Java 8 realizacja
- 16. Jak sprawdzić wartość Long dla wartości null w java
- 17. Wybieranie nazw kolumn, dla których wartości są NULL
- 18. File.list() zwraca wartość null dla katalogu
- 19. Java ustalony przełącznik vs HashMap
- 20. wybrać z InfluxDB gdzie wartość jest null
- 21. Mongoose kwerenda gdzie wartość nie jest null
- 22. Java HashMap sortowania według wartości
- 23. Jaka jest wartość maksymalna dla Java Duration
- 24. Zdobądź klucze HashMap Java
- 25. Java HashMap zduplikowane elementy
- 26. Powody, dla których przyjęta intencja byłaby NULL w onStartCommand
- 27. Mapa z kluczem tylko - dla zawiera sprawdzanie
- 28. Java - Inicjowanie mapy HashMap HashMaps
- 29. wartość Update w zmienny HashMap
- 30. Encja (null) nie jest kluczem do kodowania klucza zgodnego z kluczem "title"