Java Set Interface

I denne vejledning lærer vi om Set-grænsefladen i Java og dens metoder.

Den Setgrænsefladen af Java Collectionsrammer giver funktionerne i den matematiske sæt i Java. Det udvider Collectiongrænsefladen.

I modsætning til Listgrænsefladen kan sæt ikke indeholde duplikatelementer.

Klasser der implementerer Set

Da det Seter en grænseflade, kan vi ikke oprette objekter ud fra det.

For at kunne bruge funktionerne i Setgrænsefladen kan vi bruge disse klasser:

  • HashSet
  • LinkedHashSet
  • EnumSet
  • TreeSet

Disse klasser er defineret i Collectionsrammen og implementerer Setgrænsefladen.

Grænseflader, der udvider Set

Den Setinterface er også forlænget med disse subinterfaces:

  • SortedSet
  • NavigableSet

Hvordan bruges Set?

I Java skal vi importere java.util.Setpakken for at kunne bruge den Set.

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

Her har vi skabt et Setkaldet dyr. Vi har brugt HashSetklassen til at implementere Setgrænsefladen.

Metoder til sæt

Den Setgrænseflade omfatter alle fremgangsmåderne ifølge Collectiongrænsefladen. Det er fordi Collectioner en super grænseflade af Set.

Nogle af de almindeligt anvendte metoder til Collectiongrænsefladen, der også er tilgængelige i Setgrænsefladen, er:

  • add () - tilføjer det angivne element til sættet
  • addAll () - tilføjer alle elementerne i den angivne samling til sættet
  • iterator () - returnerer en iterator, der kan bruges til at få adgang til elementerne i sættet sekventielt
  • remove () - fjerner det angivne element fra sættet
  • removeAll () - fjerner alle elementerne fra sættet, der findes i et andet specificeret sæt
  • retainAll () - bevarer alle de elementer i sættet, der også findes i et andet specificeret sæt
  • clear () - fjerner alle elementerne fra sættet
  • størrelse () - returnerer længden (antallet af elementer) på sættet
  • toArray () - returnerer en matrix, der indeholder alle elementerne i sættet
  • indeholder () - vender tilbage, truehvis sættet indeholder det angivne element
  • containAll () - returnerer, truehvis sættet indeholder alle elementerne i den angivne samling
  • hashCode () - returnerer en hashkodeværdi (adresse på elementet i sættet)

For at lære om flere metoder til Setgrænsefladen skal du besøge Java Set (officiel Java-dokumentation).

Indstil operationer

Java- Setgrænsefladen giver os mulighed for at udføre grundlæggende matematiske sætoperationer som union, skæringspunkt og delmængde.

  • Union - for at få foreningen af ​​to sæt x og y kan vi brugex.addAll(y)
  • Kryds - for at få krydset mellem to sæt x og y kan vi brugex.retainAll(y)
  • Delsæt - for at kontrollere, om x er et delsæt af y, kan vi brugey.containsAll(x)

Implementering af Set Interface

1. Implementering af HashSet-klasse

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

Produktion

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

For at lære mere om HashSet, besøg Java HashSet.

2. Implementering af 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(", "); ) ) ) 

Produktion

 Indstil ved hjælp af TreeSet: (1, 2, 3) Adgang til elementer ved hjælp af iterator (): 1, 2, 3, 

For at lære mere om det TreeSet, besøg Java TreeSet.

Nu da vi ved, hvad der Seter, vil vi se dens implementeringer i klasser som EnumSet, HashSet, LinkedHashSetog TreeSeti de næste tutorials.

Interessante artikler...