Junior — Middle
Hogyan történik egy új elem beszúrása a HashMap adatstruktúrába?
sobes.tech MI
Válasz az MI-től
Új elem HashMap-be történő beszúrása a következőképpen történik:
- A kulcs hash-kódja a
hashCode()metódus segítségével kerül kiszámításra. - A vödör (bucket) indexe a tömbben általában a
hash & (capacity - 1)művelettel kerül meghatározásra. - Ellenőrzés történik, hogy a kiválasztott vödörben vannak-e elemek:
- Ha a vödör üres, akkor egy új bejegyzés (Node) jön létre a kulccsal és értékkel.
- Ha már vannak elemek a vödörben, akkor a láncolt listán vagy a fán (az újabb Java-verziókban) végigmenve keressük a kulcsot.
- Ha a kulcs már létezik, az érték frissül.
- Ha a kulcs nem található, akkor egy új elem kerül hozzáadásra a vödörhöz.
- **Amikor eléri a betöltési tényező (load factor) a határértéket, a tömb bővítésre kerül és az elemek újra elosztásra (rehash) kerülnek.
Beszúrás példája:
HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42);
A fenti folyamat végrehajtódik a put hívásakor, hogy helyesen elhelyezze a kulcs-érték párt.