Junior
Kako se vrši skladištenje objekata u HashMap?
sobes.tech АИ
Одговор од АИ
Objekti se čuvaju u obliku parova "ključ-vrednost". HashMap koristi niz "kanti" (buckets). Prilikom dodavanja para:
- Izračunava se hash kod ključa pomoću
hashCode(). - Koristeći hash kod, određuje se indeks kante u nizu.
- U tu kantu se postavlja par
Entry(ili ekvivalent u novijim verzijama Jave), koji sadrži ključ, vrednost i hash kod. - Ako u kanti već postoje objekti, oni formiraju povezanu listu ili drvo (u slučaju velikog broja kolizija).
Prilikom dobijanja objekta po ključu:
- Izračunava se hash kod ključa.
- Određuje se indeks kante.
- Unutar kante se traži objekat sa ključem za koji
equals()vraćatrue, i čiji se hash kodovi poklapaju.
Ključevi moraju biti nepromenljivi i imati pravilno implementirane metode hashCode() i equals().