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