Junior — Middle
Java тилинде HashMapтин ички түзүлүшү жана иштеши жөнүндө түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
Java-da HashMap — bu maʼlumotlar tuzilmasi bo‘lib, kalit-qiymat juftlarini saqlash uchun ishlatiladi va kalit orqali tezkor kirishni taʼminlaydi.
Ichki tuzilma:
- HashMap, bucket array (kova massiv) dan foydalanadi.
- Kalit uchun hashCode hisoblanadi, va keyin bu indeksga aylantiriladi.
- Har bir kova ichida, bir xil indeksga ega elementlar odatda bog‘langan ro‘yxat yoki daraxt shaklida saqlanadi (Java 8 bilan, ko‘p to‘qnashuvlar bo‘lsa).
Ishlash prinsipi:
- Ob’ekt qo‘shishda, kalitning hash kodidan indeks hisoblanadi.
- Agar kova bo‘sh bo‘lsa, element joylashtiriladi.
- Agar kova band bo‘lsa, kalitlarning tengligini (equals) tekshirish orqali qiymat yangilanadi yoki yangi element qo‘shiladi.
- Kalit bo‘yicha qidirishda ham indeks hisoblanadi va kovaning ichidagi elementlar tekshiriladi.
Misol:
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 5);
int value = map.get("apple"); // 5
Shu tarzda, HashMap o‘rtacha kirish vaqti O(1) ni ta’minlaydi, ammo ko‘p to‘qnashuvlar bo‘lsa, O(n) ga degradatsiya qilishi mumkin.