Sobes.tech
Junior

Kuidas toimub objektide salvestamine HashMap'is?

sobes.tech AI

Vastus AI-lt

Objektid salvestatakse paari "võti-väärtus" kujul. HashMap kasutab "ämber" (buckets) massiivi. Paari lisamisel:

  1. Võtme hash-kood arvutatakse hashCode() meetodi abil.
  2. Hash-koodi kasutades määratakse massiivi ämberindeks.
  3. Sellesse ämbrisse asetatakse Entry paar (või vastav uusimates Java versioonides), mis sisaldab võtit, väärtust ja hash-koodi.
  4. Kui ämbris on juba objekte, moodustavad nad seotud nimekirja või puu (paljude kokkupõrgete korral).

Objekti saamiseks võtme järgi:

  1. Võtme hash-kood arvutatakse.
  2. Määratakse ämberindeks.
  3. Ämbri sees otsitakse objekti, mille võti equals() tagastab true ja mille hash-koodid kattuvad.

Võtmed peavad olema muutumatud ning õigesti implementeeritud hashCode() ja equals() meetodid.