Junior — Middle
Miben különböznek a HashMap és a Hashtable gyűjtemények megvalósítási módjai és jellemzői?
sobes.tech MI
Válasz az MI-től
A HashMap és a Hashtable a Java Map interfészének megvalósításai, de néhány különbséggel:
-
Szinkronizáció: A Hashtable szinkronizált (szálbiztos), ezért lassabb több szálas környezetben. A HashMap nem szinkronizált, így gyorsabb, de külső szinkronizáció nélkül nem biztonságos több szálas hozzáféréshez.
-
Null engedélyezése: A HashMap egy null kulcsot és több null értéket enged meg. A Hashtable nem engedélyezi null kulcsokat és null értékeket.
-
Öröklődés: A Hashtable egy régebbi osztály, a Dictionary-ből örököl, míg a HashMap az AbstractMap-ból.
-
Használat: Modern alkalmazásokban előnyösebb a HashMap használata, és szinkronizáció esetén a ConcurrentHashMap vagy a HashMap külső szinkronizálása ajánlott.
HashMap példája:
Map<String, Integer> map = new HashMap<>();
map.put("key", 1);
Integer érték = map.get("key");