In

Insiemi in Java

2 esercizi

Informazioni su Insiemi

Un Set è una collezione non ordinata che, a differenza di List, ha la garanzia di non contenere valori duplicati.

Il parametro di tipo generico dell'interfaccia Set indica il tipo degli elementi contenuti nel Set:

Set<Integer> ints = Set.of(1, 2, 3);
Set<String> strings = Set.of("alpha", "beta", "gamma");
Set<Object> mixed = Set.of(1, false, "foo");

Nota che il metodo Set.of() crea un'istanza di Set non modificabile. Chiamare metodi come add e remove su questa istanza provoca un'eccezione in fase di esecuzione.

Per creare un Set modificabile, devi istanziare una classe che implementa l'interfaccia Set. La classe integrata che implementa questa interfaccia e che si usa più spesso è la classe HashSet.

Set<Integer> ints = new HashSet<>();

L'interfaccia Set estende le interfacce Collection ed Iterable e condivide quindi molti metodi con altri tipi di collezioni. Una differenza notevole rispetto all'interfaccia Collection, però, è che metodi come add e remove restituiscono un boolean (invece di void) che indica se l'elemento era contenuto nell'insieme nel momento in cui il metodo è stato chiamato:

Set<Integer> set = new HashSet<>();
set.add(1);
// => true
set.add(2);
// => true
set.add(1);
// => false
set.size();
// => 2
set.contains(1);
// => true
set.contains(3);
// => false
set.remove(3);
// => false
set.remove(2);
// => true
set.size();
// => 1
Modifica tramite GitHub Il collegamento si apre in una nuova finestra o scheda

Impara Insiemi