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
Collectionfelü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