Java Set-grensesnitt

I denne opplæringen vil vi lære om Set-grensesnittet i Java og dets metoder.

Den Setgrensesnittet til Java Collectionsrammeverket gir funksjonene i matematisk sett i Java. Det utvider Collectiongrensesnittet.

I motsetning til Listgrensesnittet kan sett ikke inneholde dupliserte elementer.

Klasser som implementerer Set

Siden Seter et grensesnitt, kan vi ikke lage objekter fra det.

For å kunne bruke funksjonene i Setgrensesnittet, kan vi bruke disse klassene:

  • HashSet
  • LinkedHashSet
  • EnumSet
  • TreeSet

Disse klassene er definert i Collectionsrammeverket og implementerer Setgrensesnittet.

Grensesnitt som utvider Set

Den Setgrensesnittet er også utvidet med følgende subinterfaces:

  • SortedSet
  • NavigableSet

Hvordan bruke Set?

I Java må vi importere java.util.Setpakken for å kunne bruke den Set.

 // Set implementation using HashSet Set animals = new HashSet(); 

Her har vi laget et Setkalt dyr. Vi har brukt HashSetklassen til å implementere Setgrensesnittet.

Metoder for sett

Den SetGrensesnittet omfatter alle fremgangsmåtene ifølge Collectiongrensesnitt. Det er fordi det Collectioner et supergrensesnitt av Set.

Noen av de vanligste metodene for Collectiongrensesnittet som også er tilgjengelige i Setgrensesnittet er:

  • add () - legger til det angitte elementet i settet
  • addAll () - legger til alle elementene i den spesifiserte samlingen i settet
  • iterator () - returnerer en iterator som kan brukes til å få tilgang til elementene i settet sekvensielt
  • remove () - fjerner det angitte elementet fra settet
  • removeAll () - fjerner alle elementene fra settet som er tilstede i et annet spesifisert sett
  • retainAll () - beholder alle elementene i settet som også er tilstede i et annet spesifisert sett
  • clear () - fjerner alle elementene fra settet
  • størrelse () - returnerer lengden (antall elementer) på settet
  • toArray () - returnerer en matrise som inneholder alle elementene i settet
  • inneholder () - returnerer truehvis settet inneholder det spesifiserte elementet
  • containAll () - returnerer truehvis settet inneholder alle elementene i den angitte samlingen
  • hashCode () - returnerer en hash-kodeverdi (adressen til elementet i settet)

For å lære om flere metoder for Setgrensesnittet, besøk Java Set (offisiell Java-dokumentasjon).

Sett operasjoner

Java- Setgrensesnittet lar oss utføre grunnleggende matematiske settoperasjoner som union, skjæringspunkt og delmengde.

  • Union - for å få foreningen av to sett x og y, kan vi brukex.addAll(y)
  • Kryss - for å få skjæringspunktet mellom to sett x og y, kan vi brukex.retainAll(y)
  • Delsett - for å sjekke om x er et delsett av y, kan vi brukey.containsAll(x)

Implementering av Set Interface

1. Implementering av HashSet-klassen

 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); ) ) 

Produksjon

 Set1: (2, 3) Set2: (1, 2) Union er: (1, 2, 3) 

For å lære mer om HashSet, besøk Java HashSet.

2. Implementering av TreeSet-klasse

 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(", "); ) ) ) 

Produksjon

 Sett med TreeSet: (1, 2, 3) Tilgang til elementer ved hjelp av iterator (): 1, 2, 3, 

Hvis du vil lære mer om det TreeSet, kan du gå til Java TreeSet.

Nå som vi vet hva Seter, vil vi se sine implementeringer i klasser som EnumSet, HashSet, LinkedHashSetog TreeSeti de neste tutorials.

Interessante artikler...