Sobes.tech
Junior

Ce este un Set în Java?

sobes.tech AI

Răspuns de la AI

Set în Java este o colecție de elemente unice, care nu garantează ordinea de stocare.

Caracteristici principale:

  • Unicitate: Nu poate conține duplicate. Dacă încerci să adaugi un element existent, operațiunea va fi ignorată (în funcție de implementare).
  • Lipsa indexării: Elementele nu sunt accesibile după index.
  • Interfață: Face parte din Java Collections Framework și extinde interfața Collection.

Implementări cele mai utilizate:

  • HashSet: Implementarea cea mai rapidă, bazată pe o tabelă hash. Nu garantează ordinea elementelor.
  • LinkedHashSet: Păstrează ordinea de adăugare a elementelor, folosind o listă legată pe lângă tabela hash.
  • TreeSet: Stochează elementele în ordine sortată (naturală sau după un comparator definit), bazată pe un copac roșu-negru.

Exemplu de utilizare a HashSet:

// Creare HashSet
Set<String> numeUnice = new HashSet<>();

// Adăugare elemente
numeUnice.add("Alice");
numeUnice.add("Bob");
numeUnice.add("Alice"); // Acest element va fi ignorat
numeUnice.add("Charlie");

// Verificare dacă conține un element
boolean contineBob = numeUnice.contains("Bob"); // true

// Iterare peste elemente (ordinea nu este garantată)
for (String nume : numeUnice) {
    System.out.println(nume);
}

// Dimensiunea Set-ului
int dimensiune = numeUnice.size(); // 3