Wat zijn de verschillen tussen de collecties HashMap en Hashtable qua implementatie en kenmerken?
sobes.tech AI
Antwoord van AI
HashMap en Hashtable zijn implementaties van de Map-interface in Java, maar hebben enkele verschillen:
-
Synchronisatie: Hashtable is gesynchroniseerd (thread-safe), waardoor het langzamer is in een multithread-omgeving. HashMap is niet gesynchroniseerd, dus sneller, maar niet veilig voor multithread-toegang zonder externe synchronisatie.
-
Null-toegang: HashMap staat één null-sleutel en meerdere null-waarden toe. Hashtable staat geen null-sleutels of null-waarden toe.
-
Erfelijkheid: Hashtable is een oudere klasse, erft van Dictionary, terwijl HashMap erft van AbstractMap.
-
Gebruik: In moderne toepassingen is het beter om HashMap te gebruiken, en voor synchronisatie, ConcurrentHashMap of externe synchronisatie van HashMap.
Voorbeeld van gebruik van HashMap:
Map<String, Integer> map = new HashMap<>();
map.put("key", 1);
Integer value = map.get("key");