HashMap жана Hashtable коллекцияларынын ишке ашыруу жана өзгөчөлүктөрү боюнча эмнелер айырмаланат?
sobes.tech AI
AIден жооп
HashMap жана Hashtable Javaда Map интерфейсинин ишке ашырылыштары болуп саналат, бирок алардын бир нече айырмачылыктары бар:
-
Синхрондоштуруу: Hashtable синхрондоштурулган (тред-коопсуз), бул аны көптөгөн тредтердин чөйрөсүндө жайыраак кылат. HashMap синхрондоштурулган эмес, ошондуктан тезирээк, бирок тышкы синхрондоштуруу жок болсо көптөгөн тредтерге коопсуз эмес.
-
Null уруксат берүү: HashMap бир null ачкычты жана бир нече null маанилерди колдонууга уруксат берет. Hashtable null ачкычтарды жана null маанилерди кабыл албайт.
-
Мурас: Hashtable эски класс, Dictionaryден мурас алат, ал эми HashMap AbstractMapтен мурас алат.
-
Колдонуу: Заманауи колдонмолордо HashMap колдонуу артыкчылыкка ээ, жана синхрондоштуруу керек болсо — ConcurrentHashMap же тышкы синхрондоштуруу HashMap үчүн колдонулат.
HashMap колдонуу мисалы:
Map<String, Integer> map = new HashMap<>();
map.put("key", 1);
Integer мааниси = map.get("key");