Junior
Какво е Set в Java?
sobes.tech AI
Отговор от AI
Set в Java е колекция от уникални елементи, която не гарантира реда на съхранение.
Основни характеристики:
- Уникалност: Не може да съдържа дублиращи се елементи. Ако се опитате да добавите съществуващ елемент, операцията ще бъде игнорирана (зависи от реализацията).
- Липса на индексиране: Елементите не са достъпни по индекс.
- Интерфейс: Е част от Java Collections Framework и разширява интерфейса
Collection.
Най-често използваните реализации:
HashSet: Най-бързата реализация, базирана на хеш таблица. Не гарантира реда на елементите.LinkedHashSet: Запазва реда на добавяне на елементите, използвайки свързан списък към хеш таблицата.TreeSet: Съхранява елементите в сортиран ред (естествен или по зададен компаратор), базирана на червено-черно дърво.
Пример за използване на HashSet:
// Създаване на HashSet
Set<String> уникалниИмена = new HashSet<>();
// Добавяне на елементи
уникалниИмена.add("Alice");
уникалниИмена.add("Bob");
уникалниИмена.add("Alice"); // Този елемент ще бъде игнориран
уникалниИмена.add("Charlie");
// Проверка дали съдържа елемент
boolean съдържаБоб = уникалниИмена.contains("Bob"); // true
// Итерация през елементите (редът не е гарантиран)
for (String име : уникалниИмена) {
System.out.println(име);
}
// Размер на Set
int размер = уникалниИмена.size(); // 3