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

  1. A kulcs hash-kódja a hashCode() metódus segítségével kerül kiszámításra.
  2. A vödör (bucket) indexe a tömbben általában a hash & (capacity - 1) művelettel kerül meghatározásra.
  3. 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.
  4. Ha a kulcs már létezik, az érték frissül.
  5. Ha a kulcs nem található, akkor egy új elem kerül hozzáadásra a vödörhöz.
  6. **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.