Sobes.tech
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.