Sobes.tech
Junior — Middle

Kas saaksite selgitada HashMap kontseptsiooni ja kuidas see töötab võtme-väärtuse andmete salvestamiseks?

sobes.tech AI

Vastus AI-lt

HashMap on andmestruktuur, mis salvestab paare võti-väärtus ning tagab kiire juurdepääsu väärtustele võtme kaudu.

Tööpõhimõte:

  1. Võti läbib hash-funktsiooni, mis arvutab indeksi massiivis (ämbris).
  2. Väärtus salvestatakse selles ämbris koos võtmega.
  3. Võtme järgi otsides arvutatakse uuesti hash ning massiivis oleva indeksi põhjal leitakse vajalik paar.

Kui mitu võtit omavad sama hash'i (kokkupõrge), salvestatakse need sama ämbrisse nimekirja või puu kujul.

See võimaldab teha sisestus-, otsingu- ja kustutustegevusi umbes konstantse aja jooksul (O(1)) keskmiselt.

Näide Java-s:

HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 5);
int count = map.get("apple"); // tagastab 3

Seega on HashMap kasulik kiireks andmete ligipääsuks unikaalse võtme kaudu.