V tomto tutoriálu se dozvíme o rozhraní Set v Javě a jeho metodách.
SetRozhraní Java Collectionsrámce poskytuje funkce matematické sady v Javě. Rozšiřuje Collectionrozhraní.
Na rozdíl od Listrozhraní nemohou sady obsahovat duplicitní prvky.
Třídy, které implementují Set
Protože Setje to rozhraní, nemůžeme z něj vytvářet objekty.
Abychom mohli používat funkce Setrozhraní, můžeme použít tyto třídy:
- HashSet
- LinkedHashSet
- EnumSet
- Sada stromů
Tyto třídy jsou definovány v Collectionsrámci a implementují Setrozhraní.

Rozhraní, která rozšiřují Set
SetRozhraní je také rozšířena těmito podrozhraní:
- Seted set
- NavigableSet

Jak používat Set?
V Javě musíme java.util.Setpro použití importovat balíček Set.
// Set implementation using HashSet Set animals = new HashSet();
Zde jsme vytvořili Setzvaná zvířata. HashSetTřídu jsme použili k implementaci Setrozhraní.
Metody setu
SetRozhraní zahrnuje všechny metody Collectionrozhraní. Je to proto, že Collectionje to super rozhraní Set.
Některé z běžně používaných metod Collectionrozhraní, které je také k dispozici v Setrozhraní, jsou:
- add () - přidá zadaný prvek do sady
- addAll () - přidá do sady všechny prvky určené kolekce
- iterator () - vrací iterátor, který lze použít k postupnému přístupu k prvkům sady
- remove () - odstraní zadaný prvek ze sady
- removeAll () - odstraní všechny prvky ze sady, která je přítomna v jiné určené sadě
- keepAll () - zachová všechny prvky v sadě, které jsou také přítomny v jiné určené sadě
- clear () - odstraní všechny prvky ze sady
- size () - vrací délku (počet prvků) sady
- toArray () - vrátí pole obsahující všechny prvky sady
- contains () - vrátí,
truepokud sada obsahuje zadaný prvek - containsAll () - vrátí se,
truepokud sada obsahuje všechny prvky určené kolekce - hashCode () - vrací hodnotu hash kódu (adresa prvku v sadě)
Chcete-li se dozvědět více metod Setrozhraní, navštivte Java Set (oficiální dokumentace Java).
Nastavit operace
Rozhraní Java Setnám umožňuje provádět základní operace matematické množiny, jako je sjednocení, průnik a podmnožina.
- Union - získat sjednocení dvou množin X a Y, můžeme použít
x.addAll(y) - Průnik - abychom získali průnik dvou množin xay, můžeme použít
x.retainAll(y) - Subset - pro kontrolu, zda x je podmnožinou y, můžeme použít
y.containsAll(x)
Implementace nastaveného rozhraní
1. Implementace třídy 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); ) )
Výstup
Set1: (2, 3) Set2: (1, 2) Union is: (1, 2, 3)
Chcete-li se dozvědět více o HashSet, navštivte Java HashSet.
2. Implementace třídy 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(", "); ) ) )
Výstup
Nastavit pomocí TreeSet: (1, 2, 3) Přístup k prvkům pomocí iterátoru (): 1, 2, 3,
Chcete-li se dozvědět více TreeSet, navštivte Java TreeSet.
Teď, když víme, co Setznamená, že budeme vidět jeho implementace ve třídách, jako EnumSet, HashSet, LinkedHashSeta TreeSetv dalších cvičeních.








