Junior
Cum se realizează stocarea obiectelor în HashMap?
sobes.tech AI
Răspuns de la AI
Obiectele sunt stocate sub formă de perechi "cheie-valoare". HashMap folosește un array de "buckets" (găleți). La adăugarea unei perechi:
- Se calculează codul hash al cheii folosind
hashCode(). - Folosind codul hash, se determină indexul găleții în array.
- În această găleată se plasează o pereche
Entry(sau echivalent în versiunile mai noi de Java), care conține cheia, valoarea și codul hash. - Dacă în găleată există deja obiecte, acestea formează o listă înlănțuită sau un copac (în cazul unui număr mare de coliziuni).
La obținerea unui obiect după cheie:
- Se calculează codul hash al cheii.
- Se determină indexul găleții.
- În interiorul găleții, se caută un obiect cu o cheie pentru care
equals()returneazătrueși codurile hash coincid.
Cheile trebuie să fie imuabile și să aibă metode hashCode() și equals() implementate corect.