Sobes.tech
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:

  1. Izračunava se hash kod ključa pomoću hashCode().
  2. Koristeći hash kod, određuje se indeks kante u nizu.
  3. U tu kantu se postavlja par Entry (ili ekvivalent u novijim verzijama Jave), koji sadrži ključ, vrednost i hash kod.
  4. Ako u kanti već postoje objekti, oni formiraju povezanu listu ili drvo (u slučaju velikog broja kolizija).

Prilikom dobijanja objekta po ključu:

  1. Izračunava se hash kod ključa.
  2. Određuje se indeks kante.
  3. Unutar kante se traži objekat sa ključem za koji equals() vraća true, i čiji se hash kodovi poklapaju.

Ključevi moraju biti nepromenljivi i imati pravilno implementirane metode hashCode() i equals().