Sobes.tech
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");