V tomto tutoriále sa dozvieme o rozhraní Set v Jave a jeho metódach.
SetRozhranie Java Collectionsrámca poskytuje funkcie matematické sady v Jave. Rozširuje Collectionrozhranie.
Na rozdiel od Listrozhrania nemôžu sady obsahovať duplicitné prvky.
Triedy, ktoré implementujú množinu
Pretože Setje to rozhranie, nemôžeme z neho vytvárať objekty.
Aby sme mohli používať funkcie Setrozhrania, môžeme použiť tieto triedy:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Tieto triedy sú definované v Collectionsrámci a implementujú Setrozhranie.

Rozhrania, ktoré rozširujú množinu
SetRozhranie je tiež rozšírená týmito podrozhraní:
- Zoradené
- NavigableSet

Ako používať Set?
V prostredí Java musíme java.util.Setna použitie importovať balík Set.
// Set implementation using HashSet Set animals = new HashSet();
Tu sme vytvorili Setzvané zvieratá. Na HashSetimplementáciu Setrozhrania sme použili triedu .
Metódy nastavenia
SetRozhranie zahŕňa všetky metódy Collectionrozhrania. Je to preto, že Collectionje to super rozhranie Set.
Niektoré z bežne používaných metód Collectionrozhrania, ktoré je tiež k dispozícii v Setrozhraní, sú:
- add () - pridá zadaný prvok do množiny
- addAll () - pridá do sady všetky prvky určenej kolekcie
- iterátor () - vráti iterátor, ktorý je možné použiť na postupný prístup k prvkom množiny
- remove () - odstráni zadaný prvok z množiny
- removeAll () - odstráni všetky prvky zo sady, ktorá sa nachádza v inej zadanej množine
- keepAll () - zachová všetky prvky v množine, ktoré sa nachádzajú aj v inej špecifikovanej množine
- clear () - odstráni všetky prvky zo sady
- size () - vráti dĺžku (počet prvkov) množiny
- toArray () - vráti pole obsahujúce všetky prvky množiny
- contains () - vráti sa,
trueak množina obsahuje zadaný prvok - containsAll () - vráti sa,
trueak množina obsahuje všetky prvky zadanej kolekcie - hashCode () - vráti hodnotu hash kódu (adresa prvku v množine)
Ak sa chcete dozvedieť viac podrobností o Setrozhraní, navštívte Java Set (oficiálna dokumentácia Java).
Nastaviť operácie
Rozhranie Java Setnám umožňuje vykonávať základné matematické operácie s operáciami, ako je zjednotenie, križovatka a podmnožina.
- Union - získať zjednotenie dvoch množín X a Y, môžeme použiť
x.addAll(y) - Priesečník - aby sme dostali priesečník dvoch množín x a y, môžeme použiť
x.retainAll(y) - Podmnožina - na kontrolu, či je x podmnožinou y, môžeme použiť
y.containsAll(x)
Implementácia nastaveného rozhrania
1. Implementácia triedy 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ýkon
Sada 1: (2, 3) Sada 2: (1, 2) Únia je: (1, 2, 3)
Ak sa chcete dozvedieť viac HashSet, navštívte Java HashSet.
2. Implementácia triedy 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ýkon
Nastaviť pomocou TreeSet: (1, 2, 3) Prístup k prvkom pomocou iterátora (): 1, 2, 3,
Ak sa chcete dozvedieť viac TreeSet, navštívte Java TreeSet.
Teraz, keď vieme, čo Setznamená, že budeme vidieť jeho implementácie v triedach, ako EnumSet, HashSet, LinkedHashSeta TreeSetv ďalších cvičeniach.








