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:
- Võtme hash-kood arvutatakse
hashCode()meetodi abil. - Hash-koodi kasutades määratakse massiivi ämberindeks.
- Sellesse ämbrisse asetatakse
Entrypaar (või vastav uusimates Java versioonides), mis sisaldab võtit, väärtust ja hash-koodi. - Kui ämbris on juba objekte, moodustavad nad seotud nimekirja või puu (paljude kokkupõrgete korral).
Objekti saamiseks võtme järgi:
- Võtme hash-kood arvutatakse.
- Määratakse ämberindeks.
- Ämbri sees otsitakse objekti, mille võti
equals()tagastabtrueja mille hash-koodid kattuvad.
Võtmed peavad olema muutumatud ning õigesti implementeeritud hashCode() ja equals() meetodid.