Sobes.tech
Junior — Middle

Môžete vysvetliť hlavné rozdiely medzi dátovými štruktúrami HashMap a HashSet a situácie ich použitia?

sobes.tech AI

Odpoveď od AI

HashMap a HashSet sú dátové štruktúry z Java Collections Framework, založené na hashovaní, ale slúžia na rôzne účely:

  • HashMap je kolekcia dvojíc "kľúč-hodnota". Ukladá jedinečné kľúče a s nimi spojené hodnoty. Umožňuje rýchle vyhľadávanie, pridávanie a odstraňovanie prvkov podľa kľúča.

  • HashSet je kolekcia jedinečných prvkov bez kľúčov a hodnôt. V podstate je to HashMap, kde hodnoty nie sú dôležité, ukladajú sa iba kľúče (prvky).

Kedy použiť:

  • HashMap — keď je potrebné rýchlo ukladať a získavať dáta podľa kľúča, napríklad slovník alebo cache.
  • HashSet — keď je dôležitá jedinečnosť prvkov a rýchle vyhľadávanie, napríklad kontrola, či sa prvok už vyskytol.

Príklad:

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");