Sobes.tech
Junior

Cos'è un Set in Java?

sobes.tech AI

Risposta dell'AI

Set in Java è una collezione di elementi unici che non garantisce l'ordine di memorizzazione.

Caratteristiche principali:

  • Unicità: Non può contenere duplicati. Se si tenta di aggiungere un elemento esistente, l'operazione sarà ignorata (a seconda dell'implementazione).
  • Mancanza di indicizzazione: Gli elementi non sono accessibili tramite indice.
  • Interfaccia: Fa parte del Java Collections Framework e estende l'interfaccia Collection.

Implementazioni più comunemente usate:

  • HashSet: L'implementazione più veloce, basata su una tabella hash. Non garantisce l'ordine degli elementi.
  • LinkedHashSet: Mantiene l'ordine di inserimento degli elementi, usando una lista collegata oltre alla tabella hash.
  • TreeSet: Memorizza gli elementi in ordine ordinato (naturale o tramite un comparatore definito), basato su un albero rosso-nero.

Esempio di utilizzo di HashSet:

// Creazione di HashSet
Set<String> nomiUnici = new HashSet<>();

// Aggiunta di elementi
nomiUnici.add("Alice");
nomiUnici.add("Bob");
nomiUnici.add("Alice"); // Questo elemento sarà ignorato
nomiUnici.add("Charlie");

// Verifica della presenza di un elemento
boolean contieneBob = nomiUnici.contains("Bob"); // true

// Iterazione sugli elementi (l'ordine non è garantito)
for (String nome : nomiUnici) {
    System.out.println(nome);
}

// Dimensione del Set
int dimensione = nomiUnici.size(); // 3