U ovom uputstvu naučit ćemo o sučelju Set u Javi i njegovim metodama.
Set
Sučelje Java Collections
okvir pruža mogućnosti matematičkog skupa u Java. Proširuje Collection
sučelje.
Za razliku od List
sučelja, skupovi ne mogu sadržavati dvostruke elemente.
Klase koje implementiraju Set
Budući da Set
je sučelje, od njega ne možemo stvarati objekte.
Da bismo koristili funkcionalnosti Set
sučelja, možemo koristiti ove klase:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Te su klase definirane u Collections
okviru i implementiraju Set
sučelje.
Sučelja koja proširuju Set
Set
Sučelje je također produžen ovim subinterfaces:
- SortedSet
- NavigableSet
Kako koristiti Set?
U Javi moramo uvesti java.util.Set
paket da bismo ga mogli koristiti Set
.
// Set implementation using HashSet Set animals = new HashSet();
Ovdje smo stvorili Set
takozvane životinje. HashSet
Klasu smo koristili za implementaciju Set
sučelja.
Metode postavljanja
Set
Sučelje uključuje sve metode iz Collection
sučelja. To je zato što Collection
je super sučelje Set
.
Neke od najčešće korištenih metoda Collection
sučelja koje su također dostupne u Set
sučelju su:
- add () - dodaje navedeni element u skup
- addAll () - dodaje sve elemente navedene zbirke u skup
- iterator () - vraća iterator koji se može koristiti za sekvencijalni pristup elementima skupa
- remove () - uklanja navedeni element iz skupa
- removeAll () - uklanja sve elemente iz skupa koji je prisutan u drugom navedenom skupu
- retainAll () - zadržava sve elemente u skupu koji su također prisutni u drugom navedenom skupu
- clear () - uklanja sve elemente iz skupa
- size () - vraća duljinu (broj elemenata) skupa
- toArray () - vraća niz koji sadrži sve elemente skupa
- contains () - vraća
true
ako skup sadrži navedeni element - containsAll () - vraća
true
ako skup sadrži sve elemente navedene zbirke - hashCode () - vraća vrijednost hash koda (adresa elementa u skupu)
Da biste saznali više o metodama Set
sučelja, posjetite Java Set (službena Java dokumentacija).
Postavite operacije
Java Set
sučelje omogućuje nam izvođenje osnovnih matematičkih skupova poput spajanja, presijecanja i podskupa.
- Unija - možemo dobiti uniju dvaju skupova x i y
x.addAll(y)
- Sjecište - da bismo dobili presjek dvaju skupova x i y, možemo koristiti
x.retainAll(y)
- Podskup - da bismo provjerili je li x podskup y, možemo koristiti
y.containsAll(x)
Provedba postavljenog sučelja
1. Implementacija klase 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); ) )
Izlaz
Set1: (2, 3) Set2: (1, 2) Unija je: (1, 2, 3)
Da biste saznali više o tome HashSet
, posjetite Java HashSet.
2. Implementacija klase 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(", "); ) ) )
Izlaz
Postavite pomoću TreeSet: (1, 2, 3) Pristup elementima pomoću iteratora (): 1, 2, 3,
Da biste saznali više o tome TreeSet
, posjetite Java TreeSet.
Sada kada znamo što Set
je, vidjet ćemo svoje implementacije u klasama kao što su EnumSet
, HashSet
, LinkedHashSet
i TreeSet
u sljedećih tutoriali.