Sobes.tech
Junior — Middle

Kas saab seletada HashMap ja HashSet andmestruktuuride peamised erinevused ning nende kasutamise olukorrad?

sobes.tech AI

Vastus AI-lt

HashMap ja HashSet on andmestruktuurid Java Collections Frameworkist, mis põhinevad hash'imisel, kuid teenivad erinevaid eesmärke:

  • HashMap on "võtme-väärtuse" paaride kogumik. See salvestab unikaalseid võtmeid ja nendega seotud väärtusi. Võimaldab kiiresti otsida, lisada ja eemaldada elemente võtme järgi.

  • HashSet on unikaalsete elementide kogumik ilma võtmete ja väärtusteta. Põhimõtteliselt on see HashMap, kus väärtused ei ole olulised, salvestatakse ainult võtmed (elemendid).

Millal kasutada:

  • HashMap — kui on vaja kiiresti salvestada ja saada andmeid võtme järgi, näiteks sõnastik või vahemälu.
  • HashSet — kui elementide unikaalsus ja kiire otsing on olulised, näiteks kontrollida, kas element on juba nähtud.

Näide:

HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 5);

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");