Sobes.tech
Junior

Mi az a Set Java-ban?

sobes.tech MI

Válasz az MI-től

A Java-ban a Set egy olyan gyűjtemény, amely egyedi elemeket tartalmaz, és nem garantálja a tárolási sorrendet.

Fő jellemzők:

  • Egyediség: Nem tartalmazhat duplikátumokat. Ha megpróbál hozzáadni egy meglévő elemet, az művelet figyelmen kívül lesz hagyva (az implementációtól függően).
  • Indexelés hiánya: Az elemek nem érhetők el index alapján.
  • Felület: A Java Collections Framework része, és kiterjeszti a Collection felületet.

Leggyakrabban használt megvalósítások:

  • HashSet: A leggyorsabb megvalósítás, hash-táblán alapul. Nem garantálja az elemek sorrendjét.
  • LinkedHashSet: Megőrzi az elemek hozzáadásának sorrendjét, egy összekapcsolt listát használva a hash-tábla mellett.
  • TreeSet: Rendezett sorrendben tárolja az elemeket (természetes vagy megadott összehasonlító szerint), egy vörös-fekete fa alapú.

HashSet használatának példája:

// HashSet létrehozása
Set<String> egyediNevek = new HashSet<>();

// Elemek hozzáadása
egyediNevek.add("Alice");
egyediNevek.add("Bob");
egyediNevek.add("Alice"); // Ez az elem figyelmen kívül lesz hagyva
egyediNevek.add("Charlie");

// Ellenőrzés, hogy tartalmaz-e egy elemet
boolean tartalmazBabat = egyediNevek.contains("Bob"); // true

// Iterálás az elemek felett (a sorrend nem garantált)
for (String név : egyediNevek) {
    System.out.println(név);
}

// A halmaz mérete
int méret = egyediNevek.size(); // 3