Junior
Czym jest Set w Java?
sobes.tech AI
Odpowiedź od AI
Set w Javie to kolekcja unikalnych elementów, która nie gwarantuje kolejności przechowywania.
Główne cechy:
- Unikalność: Nie może zawierać duplikatów. Jeśli spróbujesz dodać istniejący element, operacja zostanie zignorowana (w zależności od implementacji).
- Brak indeksacji: Elementy nie są dostępne po indeksie.
- Interfejs: Jest częścią Java Collections Framework i rozszerza interfejs
Collection.
Najczęściej używane implementacje:
HashSet: Najszybsza implementacja, oparta na tablicy haszującej. Nie gwarantuje kolejności elementów.LinkedHashSet: Zachowuje kolejność dodawania elementów, używając powiązanej listy oprócz tablicy haszującej.TreeSet: Przechowuje elementy w posortowanej kolejności (naturalnej lub według zdefiniowanego komparatora), oparta na drzewie czerwono-czarnym.
Przykład użycia HashSet:
// Tworzenie HashSet
Set<String> unikalneNazwy = new HashSet<>();
// Dodawanie elementów
unikalneNazwy.add("Alice");
unikalneNazwy.add("Bob");
unikalneNazwy.add("Alice"); // Ten element zostanie zignorowany
unikalneNazwy.add("Charlie");
// Sprawdzanie, czy element istnieje
boolean zawieraBoba = unikalneNazwy.contains("Bob"); // true
// Iteracja po elementach (kolejność nie jest gwarantowana)
for (String imie : unikalneNazwy) {
System.out.println(imie);
}
// Rozmiar zbioru
int rozmiar = unikalneNazwy.size(); // 3