Junior
Kā notiek objektu glabāšana HashMap?
sobes.tech AI
Atbilde no AI
Objekti tiek glabāti kā pāri "atslēga-vērtība". HashMap izmanto "kasteņu" (buckets) masīvu. Pievienojot pāri:
- Atslēgas hash-kods tiek aprēķināts ar
hashCode()metodi. - Izmantojot hash-kodu, tiek noteikts masīva kasteņu indekss.
- Šajā kastē tiek novietots
Entrypāris (vai līdzvērtīgs jaunākās Java versijās), kas satur atsleģi, vērtību un hash-kodu. - Ja kastē jau ir objekti, tie veido sasaistītu sarakstu vai koku (lielas kolīzijas gadījumā).
Objekta iegūšanai pēc atsleģes:
- Atslēgas hash-kods tiek aprēķināts.
- Tiek noteikts kastītes indekss.
- Kastē tiek meklēts objekts ar atsleģi, kurai
equals()atgriežtrue, un kas atbilst hash-kodam.
Atslēgas jābūt nemainīgām un pareizi jāīsteno hashCode() un equals() metodes.