Sobes.tech
Junior — Middle

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");