In deze zelfstudie leren we over de Set-interface in Java en zijn methoden.
De Set
interface van het Java- Collections
framework biedt de kenmerken van de wiskundige set in Java. Het breidt de Collection
interface uit.
In tegenstelling tot de List
interface kunnen sets geen dubbele elementen bevatten.
Klassen die Set
Omdat het Set
een interface is, kunnen we er geen objecten van maken.
Om functionaliteiten van de Set
interface te gebruiken, kunnen we deze klassen gebruiken:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Deze klassen worden gedefinieerd in het Collections
raamwerk en implementeren de Set
interface.
Interfaces die Set
De Set
interface wordt ook uitgebreid met deze subinterfaces:
- SortedSet
- NavigableSet
Hoe gebruik je Set?
In Java moeten we een java.util.Set
pakket importeren om Set
.
// Set implementation using HashSet Set animals = new HashSet();
Hier hebben we een Set
zogenaamde dieren gemaakt. We hebben de HashSet
klasse gebruikt om de Set
interface te implementeren .
Methoden van set
De Set
interface bevat alle methoden van de Collection
interface. Het is omdat het Collection
een superinterface is van Set
.
Enkele van de veelgebruikte methoden van de Collection
interface die ook beschikbaar zijn in de Set
interface zijn:
- add () - voegt het gespecificeerde element toe aan de set
- addAll () - voegt alle elementen van de opgegeven verzameling toe aan de set
- iterator () - geeft een iterator terug die kan worden gebruikt om opeenvolgend toegang te krijgen tot elementen van de set
- remove () - verwijdert het opgegeven element uit de set
- removeAll () - verwijdert alle elementen uit de set die aanwezig zijn in een andere gespecificeerde set
- behoudenAll () - behoudt alle elementen in de set die ook aanwezig zijn in een andere gespecificeerde set
- clear () - verwijdert alle elementen uit de set
- size () - geeft de lengte (aantal elementen) van de set terug
- toArray () - retourneert een array met alle elementen van de set
- bevat () - retourneert
true
als de set het opgegeven element bevat - bevatAll () - retourneert
true
als de set alle elementen van de opgegeven verzameling bevat - hashCode () - retourneert een hashcode- waarde (adres van het element in de set)
Set
Bezoek Java Set (officiële Java-documentatie) voor meer informatie over meer methoden van de interface.
Stel bewerkingen in
De Java- Set
interface stelt ons in staat om elementaire wiskundige setbewerkingen uit te voeren, zoals unie, intersectie en subset.
- Union - om de vereniging van twee sets x en y te krijgen, kunnen we gebruiken
x.addAll(y)
- Kruising - om de kruising van twee sets x en y te krijgen, kunnen we gebruiken
x.retainAll(y)
- Subset - om te controleren of x een subset van y is, kunnen we
y.containsAll(x)
Implementatie van de set-interface
1. Implementatie van HashSet Class
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); ) )
Uitvoer
Set1: (2, 3) Set2: (1, 2) Vereniging is: (1, 2, 3)
Voor meer informatie over HashSet
, bezoek Java HashSet.
2. Implementatie van TreeSet Class
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(", "); ) ) )
Uitvoer
Stel in met TreeSet: (1, 2, 3) Toegang tot elementen met iterator (): 1, 2, 3,
Voor meer informatie over TreeSet
, bezoek Java TreeSet.
Nu we weten wat er Set
is, zullen we haar implementaties zien in klassen zoals EnumSet
, HashSet
, LinkedHashSet
en TreeSet
in de volgende tutorials.