Διεπαφή Set Java

Σε αυτό το σεμινάριο, θα μάθουμε για το 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στα επόμενα μαθήματα.

ενδιαφέροντα άρθρα...