W tym samouczku dowiemy się o interfejsie Set w Javie i jego metodach.
SetInterfejs Java Collectionsramach udostępnia funkcje zestawu matematycznej w Javie. Rozszerza Collectioninterfejs.
W przeciwieństwie do Listinterfejsu zestawy nie mogą zawierać zduplikowanych elementów.
Klasy implementujące Set
Ponieważ Setjest to interfejs, nie możemy tworzyć z niego obiektów.
W celu wykorzystania funkcjonalności Setinterfejsu możemy skorzystać z następujących klas:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Te klasy są zdefiniowane w Collectionsramach i implementują Setinterfejs.

Interfejsy rozszerzające Set
SetInterfejs jest również przedłużony o tych podinterfejsów:
- SortedSet
- NavigableSet

Jak korzystać z zestawu?
W Javie musimy zaimportować java.util.Setpakiet, aby użyć Set.
// Set implementation using HashSet Set animals = new HashSet();
Tutaj stworzyliśmy Setnazwane zwierzęta. Użyliśmy tej HashSetklasy do zaimplementowania Setinterfejsu.
Metody ustawiania
SetInterfejs obejmuje wszystkie sposoby przez Collectioninterfejs. To dlatego, że Collectionjest super interfejsem Set.
Niektóre z powszechnie używanych metod Collectioninterfejsu, które są również dostępne w Setinterfejsie, to:
- add () - dodaje określony element do zestawu
- addAll () - dodaje wszystkie elementy określonej kolekcji do zestawu
- iterator () - zwraca iterator, który może być użyty do sekwencyjnego dostępu do elementów zestawu
- remove () - usuwa określony element z zestawu
- removeAll () - usuwa wszystkie elementy z zestawu, który jest obecny w innym określonym zestawie
- retainAll () - zachowuje wszystkie elementy w zestawie, które są również obecne w innym określonym zestawie
- clear () - usuwa wszystkie elementy ze zbioru
- size () - zwraca długość (liczbę elementów) zestawu
- toArray () - zwraca tablicę zawierającą wszystkie elementy zestawu
- zawiera () - zwraca,
truejeśli zestaw zawiera określony element - zawieraAll () - zwraca,
truejeśli zestaw zawiera wszystkie elementy określonej kolekcji - hashCode () - zwraca wartość kodu skrótu (adres elementu w zestawie)
Aby dowiedzieć się więcej o metodach Setinterfejsu, odwiedź Java Set (oficjalna dokumentacja Java).
Operacje na zbiorach
SetInterfejs Java umożliwia nam wykonywanie podstawowych operacji matematycznych, takich jak suma, przecięcie i podzbiór.
- Suma - aby uzyskać sumę dwóch zbiorów x i y, możemy użyć
x.addAll(y) - Przecięcie - aby otrzymać przecięcie dwóch zbiorów x i y, możemy użyć
x.retainAll(y) - Podzbiór - aby sprawdzić, czy x jest podzbiorem y, możemy użyć
y.containsAll(x)
Implementacja interfejsu zestawu
1. Implementacja klasy 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); ) )
Wynik
Zestaw1: (2, 3) Zestaw2: (1, 2) Suma to: (1, 2, 3)
Aby dowiedzieć się więcej HashSet, odwiedź witrynę Java HashSet.
2. Implementacja klasy 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(", "); ) ) )
Wynik
Ustaw za pomocą TreeSet: (1, 2, 3) Dostęp do elementów za pomocą iteratora (): 1, 2, 3,
Aby dowiedzieć się więcej TreeSet, odwiedź Java TreeSet.
Teraz, gdy wiemy, co Setjest, widzimy jego implementacje w klasach jak EnumSet, HashSet, LinkedHashSeta TreeSetw następnych ćwiczeń.








