HashMap və Hashtable kolleksiyalarının həyata keçirilməsi və xüsusiyyətləri necə fərqlənir?
sobes.tech Süni İntellekt
AI-dan cavab
HashMap və Hashtable Java-da Map interfeysinin tətbiqləridir, lakin bir neçə fərqi var:
-
Sinxronizasiya: Hashtable sinxronizasiya olunub (ipliklər üçün təhlükəsiz), bu onu çox iplikli mühitdə daha yavaş edir. HashMap sinxronizasiya olunmayıb, ona görə daha sürətlidir, lakin xarici sinxronizasiya olmadan çox iplikli giriş üçün təhlükəsiz deyil.
-
Null icazəsi: HashMap bir null açar və bir neçə null dəyərinə icazə verir. Hashtable null açarları və null dəyərləri qəbul etmir.
-
Miras: Hashtable köhnə sinifdir, Dictionary-dən miras alır, HashMap isə AbstractMap-dən miras alır.
-
İstifadə: Müasir tətbiqlərdə HashMap istifadə etmək üstünlükdür, və sinxronizasiya üçün ConcurrentHashMap və ya HashMap-in xarici sinxronizasiyası istifadə edilə bilər.
HashMap istifadəsi nümunəsi:
Map<String, Integer> map = new HashMap<>();
map.put("key", 1);
Integer dəyər = map.get("key");