V tej vadnici bomo spoznali vmesnik Set v Javi in njegove metode.
SetVmesnik Java Collectionsokvir zagotavlja značilnosti matematičnega niza v Java. Razširi Collectionvmesnik.
Za razliko od Listvmesnika kompleti ne morejo vsebovati podvojenih elementov.
Razredi, ki izvajajo Set
Ker Setje vmesnik, iz njega ne moremo ustvarjati predmetov.
Za uporabo funkcionalnosti Setvmesnika lahko uporabimo te razrede:
- HashSet
 - LinkedHashSet
 - EnumSet
 - TreeSet
 
Ti razredi so opredeljeni v Collectionsokviru in izvajajo Setvmesnik.

Vmesniki, ki razširjajo Set
SetVmesnik je razširjena tudi v teh subinterfaces:
- SortedSet
 - NavigableSet
 

Kako uporabljati Set?
V Javi moramo uvoziti java.util.Setpaket, da ga lahko uporabljamo Set.
 // Set implementation using HashSet Set animals = new HashSet(); 
Tu smo ustvarili tako Setimenovane živali. Za uporabo vmesnika smo uporabili HashSetrazred Set.
Metode nastavitve
SetVmesnik vključuje vse metode v Collectionvmesniku. To je zato, ker Collectionje super vmesnik Set.
Nekatere najpogosteje uporabljene metode Collectionvmesnika, ki so na voljo tudi v Setvmesniku, so:
- add () - doda določeni element naboru
 - addAll () - v nabor doda vse elemente določene zbirke
 - iterator () - vrne iterator, s katerim lahko zaporedno dostopate do elementov nabora
 - remove () - odstrani določeni element iz niza
 - removeAll () - odstrani vse elemente iz niza, ki je prisoten v drugem določenem nizu
 - retainAll () - ohrani vse elemente v nizu, ki so prisotni tudi v drugem določenem nizu
 - clear () - odstrani vse elemente iz niza
 - size () - vrne dolžino (število elementov) nabora
 - toArray () - vrne matriko, ki vsebuje vse elemente nabora
 - vsebuje () - vrne, 
trueče niz vsebuje navedeni element - containsAll () - vrne, 
trueče niz vsebuje vse elemente navedene zbirke - hashCode () - vrne vrednost hash kode (naslov elementa v nizu)
 
Če želite izvedeti več o metodah Setvmesnika, obiščite Java Set (uradna dokumentacija Java).
Nastavite operacije
Vmesnik Java Setnam omogoča izvajanje osnovnih matematičnih operacij, kot so združitev, presečišče in podskupina.
- Union - dobimo lahko združitev dveh nizov x in y
x.addAll(y) - Presečišče - če želimo dobiti presečišče dveh nizov x in y, lahko uporabimo
x.retainAll(y) - Podnabor - za preverjanje, ali je x podmnožica y, lahko uporabimo
y.containsAll(x) 
Izvajanje nastavljenega vmesnika
1. Implementacija razreda 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); ) ) 
Izhod
Set1: (2, 3) Set2: (1, 2) Union je: (1, 2, 3)
Če želite izvedeti več o tem HashSet, obiščite Java HashSet.
2. Izvajanje razreda 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(", "); ) ) ) 
Izhod
Nastavite z uporabo TreeSet: (1, 2, 3) Dostop do elementov s pomočjo iteratorja (): 1, 2, 3,
Če želite izvedeti več o tem TreeSet, obiščite Java TreeSet.
Zdaj, ko vemo, kaj Setje, bomo njegove izvedbe videli v razredih, kot EnumSetso HashSet, LinkedHashSetin TreeSetv naslednjih vajah.








