În acest tutorial, vom afla despre interfața Set în Java și metodele sale.
Set
Interfața Java Collections
cadru oferă caracteristicile setului matematic în Java. Extinde Collection
interfața.
Spre deosebire de List
interfață, seturile nu pot conține elemente duplicate.
Clasele care implementează Set
Deoarece Set
este o interfață, nu putem crea obiecte din ea.
Pentru a utiliza funcționalitățile Set
interfeței, putem folosi aceste clase:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Aceste clase sunt definite în Collections
cadrul și implementează Set
interfața.
Interfețe care extind Set
Set
Interfața este extinsă de aceste subinterfaces:
- SortedSet
- NavigableSet
Cum se folosește Set?
În Java, trebuie să importăm java.util.Set
pachetul pentru a-l utiliza Set
.
// Set implementation using HashSet Set animals = new HashSet();
Aici, am creat Set
animale numite. Am folosit HashSet
clasa pentru a implementa Set
interfața.
Metode de setare
Set
Interfața include toate metodele Collection
interfeței. Este pentru că Collection
este o super interfață de Set
.
Unele dintre metodele utilizate în mod obișnuit ale Collection
interfeței, disponibile și în Set
interfață, sunt:
- add () - adaugă elementul specificat setului
- addAll () - adaugă la set toate elementele colecției specificate
- iterator () - returnează un iterator care poate fi utilizat pentru a accesa secvențial elementele setului
- remove () - elimină din set elementul specificat
- removeAll () - elimină toate elementele din setul care este prezent într-un alt set specificat
- retainAll () - reține toate elementele din set care sunt prezente și într-un alt set specificat
- clear () - elimină toate elementele din set
- size () - returnează lungimea (numărul de elemente) setului
- toArray () - returnează o matrice care conține toate elementele setului
- contains () - revine
true
dacă setul conține elementul specificat - containsAll () - revine
true
dacă setul conține toate elementele colecției specificate - hashCode () - returnează o valoare a codului hash (adresa elementului din set)
Pentru a afla mai multe metode ale Set
interfeței, vizitați Java Set (documentație oficială Java).
Operații de setare
Set
Interfața Java ne permite să efectuăm operații de bază ale setului matematic, cum ar fi unirea, intersecția și subsetul.
- Uniune - pentru a obține unirea a două seturi x și y, putem folosi
x.addAll(y)
- Intersecție - pentru a obține intersecția a două seturi x și y, putem folosi
x.retainAll(y)
- Subset - pentru a verifica dacă x este un subset al lui y, putem folosi
y.containsAll(x)
Implementarea setului de interfață
1. Implementarea clasei 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); ) )
Ieșire
Set1: (2, 3) Set2: (1, 2) Uniunea este: (1, 2, 3)
Pentru a afla mai multe despre HashSet
, vizitați Java HashSet.
2. Implementarea clasei 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(", "); ) ) )
Ieșire
Setați utilizând TreeSet: (1, 2, 3) Accesarea elementelor folosind iteratorul (): 1, 2, 3,
Pentru a afla mai multe despre acestea TreeSet
, vizitați Java TreeSet.
Acum , că știm ce Set
este, vom vedea implementările sale în clase cum ar fi EnumSet
, HashSet
, LinkedHashSet
și TreeSet
în următoarele tutoriale.