Ebben az oktatóanyagban megismerhetjük a Java felület Set felületét és annak módszereit.
A Set
Java Collections
keretrendszer kezelőfelülete biztosítja a Java matematikai készletének jellemzőit. Kiterjeszti az Collection
interfészt.
Az List
interfésztől eltérően a készletek nem tartalmazhatnak ismétlődő elemeket.
A Setet megvalósító osztályok
Mivel Set
ez egy felület, nem hozhatunk létre belőle objektumokat.
Az Set
interfész funkcióinak használatához ezeket az osztályokat használhatjuk:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Ezeket az osztályokat a Collections
keretrendszer határozza meg, és megvalósítják az Set
interfészt.
A Setet kiterjesztő interfészek
Az Set
interfészt ezek az alinterfészek is kibővítik:
- SortedSet
- NavigableSet
Hogyan kell használni a Set alkalmazást?
A Java- java.util.Set
ban a használathoz csomagot kell importálnunk Set
.
// Set implementation using HashSet Set animals = new HashSet();
Itt létrehoztunk egy Set
úgynevezett állatot. Az HashSet
osztályt használtuk az Set
interfész megvalósításához .
A halmaz módszerei
Az Set
interfész az interfész összes módszerét tartalmazza Collection
. Ez azért Collection
van, mert a Set
.
Néhány, a Collection
felületen is elérhető felület általánosan használt módszer Set
:
- add () - hozzáadja a megadott elemet a halmazhoz
- addAll () - hozzáadja a megadott gyűjtemény összes elemét a készlethez
- iterator () - olyan iterátort ad vissza, amely felhasználható a halmaz elemeinek egymás utáni elérésére
- remove () - eltávolítja a megadott elemet a készletből
- removeAll () - eltávolítja az összes elemet a készletből, amely egy másik megadott halmazban található
- retainAll () - megtartja a halmaz összes elemét, amely egy másik meghatározott halmazban is jelen van
- clear () - eltávolítja az összes elemet a halmazból
- size () - a halmaz hosszát (elemek számát ) adja vissza
- toArray () - a halmaz összes elemét tartalmazó tömböt ad vissza
- tartalmaz () - visszatér,
true
ha a halmaz tartalmazza a megadott elemet - tartalmazzaAll () - visszatér,
true
ha a halmaz a megadott gyűjtemény összes elemét tartalmazza - hashCode () - hash kódértéket ad vissza (a halmaz elemének címe)
A Set
felület további módszereiről a Java Set (hivatalos Java dokumentáció) webhelyen tájékozódhat.
Műveletek beállítása
A Java Set
felület lehetővé teszi számunkra az alapvető matematikai halmazműveletek végrehajtását, mint az egyesülés, metszéspont és részhalmaz.
- Unió - két x és y halmaz uniójának megszerzéséhez használhatjuk
x.addAll(y)
- Metszéspont - két x és y halmaz metszetének megszerzéséhez használhatjuk
x.retainAll(y)
- Részhalmaz - annak ellenőrzésére, hogy x-e y részhalmaza, használhatjuk-e
y.containsAll(x)
A set interfész megvalósítása
1. A HashSet osztály megvalósítása
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); ) )
Kimenet
Set1: (2, 3) Set2: (1, 2) Union: (1, 2, 3)
További információkért HashSet
látogasson el a Java HashSet oldalra.
2. A TreeSet osztály megvalósítása
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(", "); ) ) )
Kimenet
Beállítás a TreeSet használatával: (1, 2, 3) Elemekhez való hozzáférés iterátor segítségével (): 1, 2, 3
További információért TreeSet
látogasson el a Java TreeSet oldalra.
Most, hogy tudjuk, mi Set
van, látni fogjuk, a megvalósítások osztályok, mint a EnumSet
, HashSet
, LinkedHashSet
és TreeSet
a következő konzultáció.