Sobes.tech
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