Σε αυτό το σεμινάριο, θα μάθουμε για το Set interface στη Java και τις μεθόδους του.
Η Set
διεπαφή του Collections
πλαισίου Java παρέχει τα χαρακτηριστικά του μαθηματικού συνόλου στην Java. Επεκτείνει τη Collection
διεπαφή.
Σε αντίθεση με τη List
διεπαφή, τα σύνολα δεν μπορούν να περιέχουν διπλά στοιχεία.
Τάξεις που εφαρμόζουν το Σετ
Δεδομένου ότι Set
είναι μια διεπαφή, δεν μπορούμε να δημιουργήσουμε αντικείμενα από αυτήν.
Για να χρησιμοποιήσουμε τις λειτουργίες της Set
διεπαφής, μπορούμε να χρησιμοποιήσουμε αυτές τις τάξεις:
- HashSet
- LinkedHashSet
- EnumSet
- TreeSet
Αυτές οι τάξεις ορίζονται στο Collections
πλαίσιο και εφαρμόζουν τη Set
διεπαφή.
Διεπαφές που επεκτείνουν το Σετ
Η Set
διεπαφή επεκτείνεται επίσης από αυτά τα υποσυνδέσμια:
- Ταξινόμηση
- NavigableSet
Πώς να χρησιμοποιήσετε το Set;
Στην Java, πρέπει να εισαγάγουμε java.util.Set
πακέτο για να το χρησιμοποιήσουμε Set
.
// Set implementation using HashSet Set animals = new HashSet();
Εδώ, δημιουργήσαμε τα Set
λεγόμενα ζώα. Χρησιμοποιήσαμε την HashSet
τάξη για να εφαρμόσουμε τη Set
διεπαφή.
Μέθοδοι του σετ
Η Set
διεπαφή περιλαμβάνει όλες τις μεθόδους της Collection
διεπαφής. Είναι επειδή Collection
είναι ένα σούπερ διασύνδεση του Set
.
Μερικές από τις κοινώς χρησιμοποιούμενες μεθόδους της Collection
διεπαφής που είναι επίσης διαθέσιμες στη Set
διεπαφή είναι:
- add () - προσθέτει το καθορισμένο στοιχείο στο σύνολο
- addAll () - προσθέτει όλα τα στοιχεία της καθορισμένης συλλογής στο σύνολο
- iterator () - επιστρέφει έναν επαναληπτικό που μπορεί να χρησιμοποιηθεί για την πρόσβαση στα στοιχεία του συνόλου διαδοχικά
- remove () - αφαιρεί το καθορισμένο στοιχείο από το σετ
- removeAll () - αφαιρεί όλα τα στοιχεία από το σύνολο που υπάρχει σε ένα άλλο καθορισμένο σύνολο
- retainAll () - διατηρεί όλα τα στοιχεία του συνόλου που υπάρχουν επίσης σε ένα άλλο καθορισμένο σύνολο
- clear () - αφαιρεί όλα τα στοιχεία από το σετ
- size () - επιστρέφει το μήκος (αριθμός στοιχείων) του σετ
- toArray () - επιστρέφει έναν πίνακα που περιέχει όλα τα στοιχεία του συνόλου
- περιέχει () - επιστρέφει
true
εάν το σύνολο περιέχει το καθορισμένο στοιχείο - περιέχειAll () - επιστρέφει
true
εάν το σύνολο περιέχει όλα τα στοιχεία της καθορισμένης συλλογής - hashCode () - επιστρέφει μια τιμή κωδικού κατακερματισμού (διεύθυνση του στοιχείου στο σύνολο)
Για να μάθετε περισσότερες μεθόδους Set
διεπαφής, επισκεφθείτε το Java Set (επίσημη τεκμηρίωση Java).
Ορίστε λειτουργίες
Η Set
διεπαφή Java μας επιτρέπει να εκτελούμε βασικές λειτουργίες μαθηματικών συνόλων όπως ένωση, τομή και υποσύνολο.
- Union - για να πάρουμε την ένωση δύο συνόλων x και y, μπορούμε να χρησιμοποιήσουμε
x.addAll(y)
- Διατομή - για να έχουμε τη διασταύρωση δύο συνόλων x και y, μπορούμε να χρησιμοποιήσουμε
x.retainAll(y)
- Υποσύνολο - για να ελέγξουμε αν το x είναι υποσύνολο του y, μπορούμε να το χρησιμοποιήσουμε
y.containsAll(x)
Υλοποίηση του Set Interface
1. Εφαρμογή κλάσης HashSet
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); ) )
Παραγωγή
Σετ 1: (2, 3) Σετ2: (1, 2) Η ένωση είναι: (1, 2, 3)
Για να μάθετε περισσότερα HashSet
, επισκεφθείτε το Java HashSet.
2. Εφαρμογή κλάσης TreeSet
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(", "); ) ) )
Παραγωγή
Ορισμός χρησιμοποιώντας TreeSet: (1, 2, 3) Πρόσβαση σε στοιχεία χρησιμοποιώντας επαναληπτικό (): 1, 2, 3,
Για να μάθετε περισσότερα TreeSet
, επισκεφθείτε το Java TreeSet.
Τώρα που ξέρουμε τι Set
είναι, θα δούμε εφαρμογές της σε κατηγορίες όπως EnumSet
, HashSet
, LinkedHashSet
και TreeSet
στα επόμενα μαθήματα.