Junior
Ako sa vykonáva ukladanie objektov v HashMap?
sobes.tech AI
Odpoveď od AI
Objekty sa ukladajú vo forme párov "kľúč-hodnota". HashMap používa pole "vedier" (buckets). Pri pridávaní páru:
- Vypočíta sa hash kód kľúča pomocou
hashCode(). - Pomocou hash kódu sa určí index vedra v poli.
- Do tohto vedra sa umiestni pár
Entry(alebo ekvivalent v novších verziách Javy), ktorý obsahuje kľúč, hodnotu a hash kód. - Ak v vedre už sú objekty, tvoria spojovaný zoznam alebo strom (pri veľkom počte kolízií).
Pri získavaní objektu podľa kľúča:
- Vypočíta sa hash kód kľúča.
- Určí sa index vedra.
- Vo vnútri vedra sa hľadá objekt s kľúčom, pre ktorý
equals()vraciatrue, a hash kódy sa zhodujú.
Kľúče by mali byť nemenné a správne implementovať metódy hashCode() a equals().