Sobes.tech
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