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

  1. Vypočíta sa hash kód kľúča pomocou hashCode().
  2. Pomocou hash kódu sa určí index vedra v poli.
  3. Do tohto vedra sa umiestni pár Entry (alebo ekvivalent v novších verziách Javy), ktorý obsahuje kľúč, hodnotu a hash kód.
  4. 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:

  1. Vypočíta sa hash kód kľúča.
  2. Určí sa index vedra.
  3. Vo vnútri vedra sa hľadá objekt s kľúčom, pre ktorý equals() vracia true, a hash kódy sa zhodujú.

Kľúče by mali byť nemenné a správne implementovať metódy hashCode() a equals().