Junior — Middle
È possibile spiegare le principali differenze tra le strutture dati HashMap e HashSet e le situazioni in cui vengono utilizzate?
sobes.tech AI
Risposta dell'AI
HashMap e HashSet sono strutture dati del Java Collections Framework, basate sull'hash, ma servono a scopi diversi:
-
HashMap è una collezione di coppie "chiave-valore". Memorizza chiavi uniche e i valori associati. Permette di cercare, aggiungere e rimuovere elementi rapidamente per chiave.
-
HashSet è una collezione di elementi unici senza chiavi né valori. È essenzialmente un HashMap in cui i valori non sono importanti, vengono memorizzate solo le chiavi (elementi).
Quando usarlo:
- HashMap: quando si necessita di memorizzare e recuperare rapidamente dati tramite chiave, ad esempio un dizionario o una cache.
- HashSet: quando l'unicità degli elementi e la ricerca rapida sono importanti, ad esempio per verificare se un elemento è già stato incontrato.
Esempio:
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");