Le collection di tipo set in java
Le collezioni di tipo Set in Java sono un tipo di contenitore che non consente elementi duplicati. In altre parole, ogni elemento all’interno di un Set deve essere unico
[1]. L’interfaccia Set è implementata dalle classi HashSet, LinkedHashSet e TreeSet.La classe HashSet implementa l’interfaccia Set utilizzando una tabella hash. Questo significa che gli elementi all’interno di un HashSet non sono ordinati e possono essere acceduti in modo casuale
[2].La classe LinkedHashSet estende la classe HashSet e mantiene l’ordine di inserimento degli elementi. Ciò significa che gli elementi all’interno di un LinkedHashSet possono essere acceduti nell’ordine in cui sono stati inseriti
[2].La classe TreeSet implementa l’interfaccia SortedSet e mantiene gli elementi ordinati in base al loro valore. Ciò significa che gli elementi all’interno di un TreeSet possono essere acceduti in ordine crescente o decrescente...Leggi di più
[2].Per aggiungere elementi a un Set, si può utilizzare il metodo add()
. Per rimuovere elementi da un Set, si può utilizzare il metodo remove()
.
[1]Per verificare se un elemento esiste all’interno di un Set, si può utilizzare il metodo contains()
.
Ecco un esempio di codice:
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
// Creazione del set
HashSet<String> set = new HashSet<String>();
// Aggiunta degli elementi al set
set.add("elemento1");
set.add("elemento2");
set.add("elemento3");
// Stampa del set
System.out.println(set);
// Rimozione dell'elemento "elemento2" dal set
set.remove("elemento2");
// Verifica se l'elemento "elemento1" esiste nel set
System.out.println(set.contains("elemento1"));
}
}
Nell’esempio sopra abbiamo visto come aggiungere elementi alla collection di tipo set, ma come facciamo a rimuovere un elemento ? Semplice utilizziamo il metodo remove.
// Rimozione dell'elemento "elemento2" dal set
set.remove("elemento2");
Se invece abbiamo bisogno di cercare un elemento possiamo utilizzare il metodo contains
// Verifica se l'elemento "elemento1" esiste nel set
System.out.println(set.contains("elemento1"));
Set vs List un List è una sequenza ordinata di elementi che consente duplicati, mentre un Set è una sequenza non ordinata di elementi distinti che non consente duplicati. Un’altra differenza tra i due è che un List può contenere qualsiasi numero di valori nulli, mentre un Set può contenere al massimo un elemento nullo.
Sia List che Set sono interfacce che appartengono al framework Collection ed estendono l’interfaccia Collection. La scelta tra l’utilizzo di un elenco o di un set dipende dal caso d’uso specifico. Se l’ordine e i duplicati sono importanti, è necessario utilizzare un elenco. Se sono necessari solo elementi distinti e l’ordine non è importante, è comodo utilizzare un set.
Vale la pena notare che ci sono diverse classi in Java che implementano entrambe le interfacce, come ArrayList per List e HashSet per Set[1].
Se in questo articolo ci sono degli errori o hai dei suggerimenti, faccelo sapere!