Sobes.tech
Junior

Kas yra Set Java?

sobes.tech AI

Atsakymas iš AI

Java Set yra unikalių elementų kolekcija, kuri nesuteikia garantijos saugojimo tvarkos.

Pagrindinės savybės:

  • Unikalumas: Negali turėti dubliuotų elementų. Jei bandysite pridėti esantį elementą, operacija bus ignoruojama (priklausomai nuo įgyvendinimo).
  • Indeksavimo nebuvimas: Elementai nėra pasiekiami pagal indeksą.
  • Sąsaja: Yra Java Collections Framework dalis ir išplečia Collection sąsają.

Dažniausiai naudojamos įgyvendinimai:

  • HashSet: Greičiausias įgyvendinimas, pagrįstas maišo lentele. Negali garantuoti elementų tvarkos.
  • LinkedHashSet: Išlaiko pridėjimo tvarką, naudodamas susietą sąrašą papildomai prie maišo lentelės.
  • TreeSet: Saugo elementus surūšiuotoje tvarkoje (natūralioje arba pagal nurodytą palygintoją), pagrįsta raudonai-juoda medžiu.

HashSet naudojimo pavyzdys:

// HashSet kūrimas
Set<String> unikalūsVardai = new HashSet<>();

// Elementų pridėjimas
unikalusVardas.add("Alice");
unikalusVardas.add("Bob");
unikalusVardas.add("Alice"); // Šis elementas bus ignoruojamas
unikalusVardas.add("Charlie");

// Patikrinimas, ar yra elementas
boolean turiBoba = unikalūsVardai.contains("Bob"); // true

// Iteracija per elementus (tvarka nėra garantuota)
for (String vardas : unikalūsVardai) {
    System.out.println(vardas);
}

// Dydis
int dydis = unikalūsVardai.size(); // 3