Šajā apmācībā mēs uzzināsim par Java saskarni Set un tās metodēm.
Set
Java interfeiss Collections
ietvaros nodrošina funkcijas matemātiskā komplekta Java. Tas paplašina Collection
saskarni.
Atšķirībā no List
saskarnes, komplektos nedrīkst būt elementu dublikāti.
Klases, kas ievieš komplektu
Tā kā Set
tā ir saskarne, mēs nevaram no tā izveidot objektus.
Lai izmantotu Set
saskarnes funkcionalitāti , mēs varam izmantot šīs klases:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Šīs klases ir noteiktas Collections
sistēmā, un tās ievieš Set
saskarni.
Saskarnes, kas paplašina kopu
Set
Saskarne tiek pagarināts arī ar šiem subinterfaces:
- SortedSet
- NavigableSet
Kā lietot Set?
Java lietošanai mums jāimportē java.util.Set
pakete Set
.
// Set implementation using HashSet Set animals = new HashSet();
Šeit mēs esam izveidojuši Set
saucamos dzīvniekus. Interfeisa HashSet
ieviešanai mēs izmantojām klasi Set
.
Komplekta metodes
Set
Interfeiss ietver visas metodes ar Collection
interfeisu. Tas ir tāpēc, ka Collection
ir super saskarne Set
.
Dažas no Collection
saskarnē bieži izmantotajām saskarnes metodēm ir Set
šādas:
- add () - pievieno norādīto elementu kopai
- addAll () - kopai pievieno visus norādītās kolekcijas elementus
- iterator () - atgriež iteratoru, kuru var secīgi piekļūt kopas elementiem
- noņemt () - noņem norādīto elementu no kopas
- removeAll () - noņem visus elementus no kopas, kas atrodas citā norādītajā komplektā
- retainAll () - saglabā visus kopas elementus, kas atrodas arī citā norādītajā komplektā
- skaidrs () - noņem visus elementus no kopas
- size () - atgriež kopas garumu (elementu skaitu)
- toArray () - atgriež masīvu, kurā ir visi kopas elementi
- satur () - atgriež,
true
ja kopa satur norādīto elementu - saturAll () - atgriež,
true
ja kopa satur visus norādītās kolekcijas elementus - hashCode () - atgriež hash koda vērtību (kopas elementa adrese)
Lai uzzinātu vairāk par Set
saskarnes metodēm , apmeklējiet Java Set (oficiālā Java dokumentācija).
Iestatīt operācijas
Java Set
saskarne ļauj mums veikt pamata matemātiskas kopu darbības, piemēram, savienojumu, krustojumu un apakškopu.
- Savienība - lai iegūtu divu x un y kopu savienojumu, mēs varam izmantot
x.addAll(y)
- Krustojums - lai iegūtu divu x un y kopu krustojumu, mēs varam izmantot
x.retainAll(y)
- Apakškopa - lai pārbaudītu, vai x ir y apakškopa, mēs varam izmantot
y.containsAll(x)
Komplekta saskarnes ieviešana
1. HashSet klases ieviešana
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); ) )
Rezultāts
1. kopa: (2, 3) 2. kopa: (1, 2) savienojums ir: (1, 2, 3)
Lai uzzinātu vairāk par to HashSet
, apmeklējiet Java HashSet.
2. TreeSet klases ieviešana
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(", "); ) ) )
Rezultāts
Iestatīšana, izmantojot TreeSet: (1, 2, 3) Piekļuve elementiem, izmantojot iteratoru (): 1, 2, 3,
Lai uzzinātu vairāk par to TreeSet
, apmeklējiet Java TreeSet.
Tagad, ka mēs zinām, kas Set
ir, mēs redzēsim tās realizācijas klasēs, piemēram EnumSet
, HashSet
, LinkedHashSet
un TreeSet
nākamajos konsultācijas.