Junior
Τι είναι το Set στη Java;
sobes.tech AI
Απάντηση από AI
Το σετ στη Java είναι μια συλλογή μοναδικών στοιχείων που δεν εγγυάται τη σειρά αποθήκευσης.
Βασικά χαρακτηριστικά:
- Μοναδικότητα: Δεν μπορεί να περιέχει διπλότυπα. Αν προσπαθήσετε να προσθέσετε ένα υπάρχον στοιχείο, η λειτουργία θα αγνοηθεί (ανάλογα με την υλοποίηση).
- Έλλειψη ευρετηρίασης: Τα στοιχεία δεν είναι προσβάσιμα μέσω δείκτη.
- Διεπαφή: Είναι μέρος του Java Collections Framework και επεκτείνει τη διεπαφή
Collection.
Οι πιο συνηθισμένες υλοποιήσεις:
HashSet: Η πιο γρήγορη υλοποίηση, βασισμένη σε έναν πίνακα κατακερματισμού. Δεν εγγυάται τη σειρά των στοιχείων.LinkedHashSet: Διατηρεί τη σειρά εισαγωγής των στοιχείων, χρησιμοποιώντας μια συνδεδεμένη λίστα εκτός από τον πίνακα κατακερματισμού.TreeSet: Αποθηκεύει τα στοιχεία σε ταξινομημένη σειρά (φυσική ή με βάση έναν συγκριτή), βασισμένη σε ένα κόκκινο-μαύρο δέντρο.
Παράδειγμα χρήσης του HashSet:
// Δημιουργία HashSet
Set<String> μοναδικάΟνόματα = new HashSet<>();
// Προσθήκη στοιχείων
μοναδικάΟνόματα.add("Alice");
μοναδικάΟνόματα.add("Bob");
μοναδικάΟνόματα.add("Alice"); // Αυτό το στοιχείο θα αγνοηθεί
μοναδικάΟνόματα.add("Charlie");
// Έλεγχος αν περιέχει ένα στοιχείο
boolean περιέχειBob = μοναδικάΟνόματα.contains("Bob"); // true
// Επανάληψη στα στοιχεία (η σειρά δεν εγγυάταιται)
for (String όνομα : μοναδικάΟνόματα) {
System.out.println(όνομα);
}
// Μέγεθος του σετ
int μέγεθος = μοναδικάΟνόματα.size(); // 3