Junior
HashMap-də obyektlərin saxlanması necə həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
Obyektlər "açar-dəyər" cütləri şəklində saxlanılır. HashMap "kova" (buckets) massivindən istifadə edir. Cüt əlavə edilərkən:
- Açarın hash kodu
hashCode()metodu ilə hesablanır. - Hash kodundan istifadə edərək, massivdəki kovanın indeksi müəyyən edilir.
- Bu kovanda
Entrycütü (və ya Java-nın daha yeni versiyalarında analoqu) yerləşdirilir, o açar, dəyər və hash kodunu ehtiva edir. - Əgər kovanda artıq obyektlər varsa, onlar əlaqəli siyahı və ya ağac əmələ gətirir (çox toqquşma halında).
Obyektə açar vasitəsilə çatmaq üçün:
- Açarın hash kodu hesablanır.
- Kovanın indeksi müəyyən edilir.
- Kovanın içində,
equals()trueqaytaran və hash kodları uyğun olan açara malik obyekt axtarılır.
Açarlar dəyişməz olmalı və hashCode() və equals() metodları düzgün şəkildə tətbiq olunmalıdır.