I denna handledning lär vi oss om Set-gränssnittet i Java och dess metoder.
Den Set
gränssnittet för Java Collections
ramverket ger funktionerna i den matematiska uppsättningen i Java. Det utökar Collection
gränssnittet.
Till skillnad från List
gränssnittet kan uppsättningar inte innehålla dubbletter.
Klasser som implementerar Set
Eftersom det Set
är ett gränssnitt kan vi inte skapa objekt från det.
För att använda funktionerna i Set
gränssnittet kan vi använda dessa klasser:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Dessa klasser definieras i Collections
ramverket och implementerar Set
gränssnittet.
Gränssnitt som förlänger Set
Den Set
gränssnittet är också förlängas med dessa subinterfaces:
- SortedSet
- NavigableSet
Hur använder jag Set?
I Java måste vi importera java.util.Set
paketet för att kunna använda det Set
.
// Set implementation using HashSet Set animals = new HashSet();
Här har vi skapat ett Set
kallat djur. Vi har använt HashSet
klassen för att implementera Set
gränssnittet.
Metoder för uppsättning
I Set
gränssnitt innefattar alla metoder i Collection
gränssnittet. Det beror på att det Collection
är ett supergränssnitt för Set
.
Några av de vanliga metoderna för Collection
gränssnittet som också finns i Set
gränssnittet är:
- add () - lägger till det angivna elementet i uppsättningen
- addAll () - lägger till alla element i den angivna samlingen i uppsättningen
- iterator () - returnerar en iterator som kan användas för att komma åt elementen i uppsättningen sekventiellt
- ta bort () - tar bort det angivna elementet från uppsättningen
- removeAll () - tar bort alla element från uppsättningen som finns i en annan angiven uppsättning
- retainAll () - behåller alla element i uppsättningen som också finns i en annan angiven uppsättning
- clear () - tar bort alla element från uppsättningen
- storlek () - returnerar längden (antal element) för uppsättningen
- toArray () - returnerar en matris som innehåller alla element i uppsättningen
- innehåller () - returnerar
true
om uppsättningen innehåller det angivna elementet - containAll () - returnerar
true
om uppsättningen innehåller alla element i den angivna samlingen - hashCode () - returnerar ett hashkodvärde (adressen till elementet i uppsättningen)
Om du vill lära dig mer om Set
gränssnittsmetoderna besöker du Java Set (officiell Java-dokumentation).
Ställ in funktioner
Java- Set
gränssnittet tillåter oss att utföra grundläggande matematiska uppsättningsoperationer som union, korsning och delmängd.
- Union - för att få unionen av två uppsättningar x och y kan vi använda
x.addAll(y)
- Korsning - för att få skärningspunkten mellan två uppsättningar x och y kan vi använda
x.retainAll(y)
- Delmängd - för att kontrollera om x är en delmängd av y kan vi använda
y.containsAll(x)
Implementering av Set Interface
1. Implementering av HashSet-klass
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) Unionen är: (1, 2, 3)
För att lära dig mer om HashSet
, besök Java HashSet.
2. Implementering av TreeSet-klass
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
Ställ in med TreeSet: (1, 2, 3) Åtkomst till element med iterator (): 1, 2, 3,
För att lära dig mer om TreeSet
, besök Java TreeSet.
Nu när vi vet vad Set
är, kommer vi att se sina implementeringar i klasser som EnumSet
, HashSet
, LinkedHashSet
och TreeSet
under de närmaste tutorials.