Sobes.tech
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");