Šioje pamokoje sužinosime apie „Java“ sąsają „Set“ ir jos metodus.
„ Set
Java“ Collections
sistemos sąsaja suteikia „Java “ matematinio rinkinio ypatybes. Tai išplečia Collection
sąsają.
Skirtingai nuo List
sąsajos, rinkiniuose negali būti pasikartojančių elementų.
Klasės, kurios įgyvendina rinkinį
Kadangi Set
tai yra sąsaja, negalime iš jos kurti objektų.
Norėdami naudoti Set
sąsajos funkcijas , galime naudoti šias klases:
- „HashSet“
- „LinkedHashSet“
- „EnumSet“
- Medžių rinkinys
Šios klasės yra apibrėžtos Collections
sistemoje ir įgyvendina Set
sąsają.
Sąsajos, pratęsiančios rinkinį
Set
Sąsaja taip pat pratęsė šių subinterfaces:
- RūšiuotiNustatyti
- „NavigableSet“
Kaip naudotis „Set“?
Jei java.util.Set
norite naudoti „ Java“, turime importuoti paketą Set
.
// Set implementation using HashSet Set animals = new HashSet();
Čia mes sukūrėme Set
vadinamus gyvūnus. Sąsajai įgyvendinti naudojome HashSet
klasę Set
.
Rinkinio metodai
Set
Sąsaja apima visus metodus Collection
sąsaja. Taip yra todėl, kad Collection
yra super sąsaja Set
.
Kai kurie dažniausiai naudojami Collection
sąsajos metodai, kurie taip pat yra Set
sąsajoje, yra šie:
- add () - prideda nurodytą elementą į rinkinį
- addAll () - prideda visus nurodytos kolekcijos elementus prie rinkinio
- iterator () - pateikia iteratorių, kuris gali būti naudojamas nuosekliai pasiekti rinkinio elementus
- pašalinti () - pašalina nurodytą elementą iš rinkinio
- removeAll () - pašalina visus elementus iš rinkinio, esančio kitame nurodytame rinkinyje
- retainAll () - išlaiko visus rinkinio elementus, kurie yra ir kitame nurodytame rinkinyje
- išvalyti () - pašalina visus elementus iš rinkinio
- dydis () - pateikia rinkinio ilgį (elementų skaičių)
- toArray () - pateikia masyvą, kuriame yra visi aibės elementai
- yra () - grąžina,
true
jei rinkinyje yra nurodytas elementas - containsAll () - grąžina,
true
jei rinkinyje yra visi nurodytos kolekcijos elementai - hashCode () - pateikia maišos kodo vertę (rinkinio elemento adresą)
Norėdami sužinoti daugiau apie Set
sąsajos metodus , apsilankykite „Java Set“ (oficiali „Java“ dokumentacija).
Nustatyti operacijas
„Java“ Set
sąsaja leidžia mums atlikti pagrindines matematinių rinkinių operacijas, tokias kaip jungimas, sankirta ir pogrupis.
- Sąjunga - norėdami gauti dviejų rinkinių x ir y sąjungą, galime naudoti
x.addAll(y)
- Sankirta - norėdami gauti dviejų rinkinių x ir y sankirtą, galime naudoti
x.retainAll(y)
- Pogrupis - norėdami patikrinti, ar x yra y pogrupis, galime naudoti
y.containsAll(x)
Nustatytos sąsajos įgyvendinimas
1. „HashSet“ klasės įgyvendinimas
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); ) )
Rezultatas
1 rinkinys: (2, 3) rinkinys2: (1, 2) sąjunga yra: (1, 2, 3)
Norėdami sužinoti daugiau apie tai HashSet
, apsilankykite „Java HashSet“.
2. „TreeSet“ klasės įgyvendinimas
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(", "); ) ) )
Rezultatas
Nustatykite naudodami „TreeSet“: (1, 2, 3) Prieiga prie elementų naudojant iteratorių (): 1, 2, 3,
Norėdami sužinoti daugiau apie tai TreeSet
, apsilankykite „Java TreeSet“.
Dabar, kad mes žinome, ką Set
reiškia, matysime savo realizacijos klasių, kaip EnumSet
, HashSet
, LinkedHashSet
ir TreeSet
per ateinančius vadovėliai.