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:
- Element əlavə edilərkən, açarın hash kodu hesablanır və kova indeksi müəyyən edilir.
- Əgər kova boşdursa, element ora yerləşdirilir.
- Ə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.
- 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ə