In questo tutorial, impareremo a conoscere l'interfaccia Set in Java e i suoi metodi.
L' Set
interfaccia del Collections
framework Java fornisce le funzionalità del set matematico in Java. Estende l' Collection
interfaccia.
A differenza List
dell'interfaccia, i set non possono contenere elementi duplicati.
Classi che implementano Set
Poiché Set
è un'interfaccia, non possiamo creare oggetti da essa.
Per utilizzare le funzionalità Set
dell'interfaccia, possiamo utilizzare queste classi:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Queste classi sono definite nel Collections
framework e implementano l' Set
interfaccia.
Interfacce che estendono Set
L' Set
interfaccia è estesa anche da queste sottointerfacce:
- SortedSet
- NavigableSet
Come si usa Set?
In Java, dobbiamo importare il java.util.Set
pacchetto per poter utilizzare Set
.
// Set implementation using HashSet Set animals = new HashSet();
Qui abbiamo creato un Set
animale chiamato. Abbiamo utilizzato la HashSet
classe per implementare l' Set
interfaccia.
Metodi di Set
L' Set
interfaccia include tutti i metodi Collection
dell'interfaccia. È perché Collection
è una super interfaccia di Set
.
Alcuni dei metodi comunemente usati Collection
dell'interfaccia che è anche disponibile Set
nell'interfaccia sono:
- add () : aggiunge l'elemento specificato al set
- addAll () : aggiunge tutti gli elementi della raccolta specificata al set
- iterator () - restituisce un iteratore che può essere utilizzato per accedere sequenzialmente agli elementi dell'insieme
- remove () - rimuove l'elemento specificato dal set
- removeAll () - rimuove tutti gli elementi dal set che è presente in un altro set specificato
- keepAll () - mantiene tutti gli elementi nel set che sono presenti anche in un altro set specificato
- clear () : rimuove tutti gli elementi dal set
- size () - restituisce la lunghezza (numero di elementi) del set
- toArray () - restituisce un array contenente tutti gli elementi del set
- contiene () - restituisce
true
se il set contiene l'elemento specificato - contieneAll () : restituisce
true
se il set contiene tutti gli elementi della raccolta specificata - hashCode () - restituisce un valore di codice hash (indirizzo dell'elemento nel set)
Per ulteriori informazioni su altri metodi Set
dell'interfaccia, visitare Java Set (documentazione Java ufficiale).
Imposta operazioni
L' Set
interfaccia Java ci consente di eseguire operazioni matematiche di base sugli insiemi come unione, intersezione e sottoinsieme.
- Unione : per ottenere l'unione di due insiemi x e y, possiamo usare
x.addAll(y)
- Intersezione : per ottenere l'intersezione di due insiemi x e y, possiamo usare
x.retainAll(y)
- Sottoinsieme : per verificare se x è un sottoinsieme di y, possiamo usare
y.containsAll(x)
Implementazione dell'interfaccia Set
1. Implementazione della classe HashSet
import java.util.Set; import java.util.HashSet; class Main ( public static void main(String() args) ( // Creating a set using the HashSet class Set set1 = new HashSet(); // Add elements to the set1 set1.add(2); set1.add(3); System.out.println("Set1: " + set1); // Creating another set using the HashSet class Set set2 = new HashSet(); // Add elements set2.add(1); set2.add(2); System.out.println("Set2: " + set2); // Union of two sets set2.addAll(set1); System.out.println("Union is: " + set2); ) )
Produzione
Set1: (2, 3) Set2: (1, 2) L'unione è: (1, 2, 3)
Per saperne di più HashSet
, visita Java HashSet.
2. Implementazione della classe TreeSet
import java.util.Set; import java.util.TreeSet; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating a set using the TreeSet class Set numbers = new TreeSet(); // Add elements to the set numbers.add(2); numbers.add(3); numbers.add(1); System.out.println("Set using TreeSet: " + numbers); // Access Elements using iterator() System.out.print("Accessing elements using iterator(): "); Iterator iterate = numbers.iterator(); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) )
Produzione
Set using TreeSet: (1, 2, 3) Accessing elements using iterator (): 1, 2, 3,
Per saperne di più TreeSet
, visita Java TreeSet.
Ora che sappiamo che cosa Set
è, vedremo le sue implementazioni nelle classi come EnumSet
, HashSet
, LinkedHashSet
e TreeSet
nei prossimi tutorial.