Sobes.tech
Junior — Middle

Java-da hash cədvəlinin daxili quruluşu və işləmə mexanizmini izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da (məsələn, HashMap) hash cədvəli, açar-dəyər cütlərini saxlayan və açar vasitəsilə sürətli giriş təmin edən məlumat quruluşudur.

Daxili quruluş:

  • Əsasən, bu, kovalar (sepetlər) massividir.
  • Hər kova ya null, ya da eyni hash koduna malik elementlərin əlaqəli siyahısı (və ya ağacı, əgər çox element varsa) ehtiva edir.

İş prinsipi:

  1. Element əlavə edilərkən, açarın hash kodu hesablanır və kova indeksi müəyyən edilir.
  2. Əgər kova boşdursa, element ora yerləşdirilir.
  3. Əgər kova doludursa, əlaqəli siyahıda (və ya ağacda) axtarış aparılır:
    • Əgər açar tapılırsa, dəyər yenilənir.
    • Tapılmazsa, element siyahıya əlavə olunur.
  4. Müəyyən bir doldurma səviyyəsinə çatdıqda, massiv genişləndirilir (rehash) və performans qorunur.

Bu yanaşma, əlavə etmə, axtarış və silmə əməliyyatlarının orta mürəkkəbliyini O(1)-ə yaxın saxlayır.

İstifadə nümunəsi:

Map<String, Integer> map = new HashMap<>();
map.put("key1", 100);
Integer value = map.get("key1"); // sürətli giriş açar vasitəsilə