Java Set-gränssnitt

I denna handledning lär vi oss om Set-gränssnittet i Java och dess metoder.

Den Setgränssnittet för Java Collectionsramverket ger funktionerna i den matematiska uppsättningen i Java. Det utökar Collectiongränssnittet.

Till skillnad från Listgrä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 Setgränssnittet kan vi använda dessa klasser:

  • HashSet
  • LinkedHashSet
  • EnumSet
  • TreeSet

Dessa klasser definieras i Collectionsramverket och implementerar Setgränssnittet.

Gränssnitt som förlänger Set

Den Setgränssnittet är också förlängas med dessa subinterfaces:

  • SortedSet
  • NavigableSet

Hur använder jag Set?

I Java måste vi importera java.util.Setpaketet för att kunna använda det Set.

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

Här har vi skapat ett Setkallat djur. Vi har använt HashSetklassen för att implementera Setgränssnittet.

Metoder för uppsättning

I Setgränssnitt innefattar alla metoder i Collectiongränssnittet. Det beror på att det Collectionär ett supergränssnitt för Set.

Några av de vanliga metoderna för Collectiongränssnittet som också finns i Setgrä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 trueom uppsättningen innehåller det angivna elementet
  • containAll () - returnerar trueom 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 Setgränssnittsmetoderna besöker du Java Set (officiell Java-dokumentation).

Ställ in funktioner

Java- Setgrä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ändax.addAll(y)
  • Korsning - för att få skärningspunkten mellan två uppsättningar x och y kan vi användax.retainAll(y)
  • Delmängd - för att kontrollera om x är en delmängd av y kan vi använday.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, LinkedHashSetoch TreeSetunder de närmaste tutorials.

Intressanta artiklar...