Встречается на собеседованиях • сегодня

Гарантирует ли уникальность интерфейс Set

Интерфейс `Set` гарантирует уникальность элементов, но только в рамках своей реализации. Он не допускает дубликатов, определяя их через `equals()`. Однако поведение зависит от конкретной реализации: 1. **HashSet** - использует `hashCode()` и `equals()` для проверки уникальности. 2. **TreeSet** - сравнивает элементы через `compareTo()` (или `Comparator`), где `compareTo() == 0` означает дубликат. 3. **LinkedHashSet** - сохраняет порядок добавления, но также обеспечивает уникальность. Пример: ```java Set set = new HashSet<>(); set.add("a"); set.add("a"); // не добавится System.out.println(set.size()); // 1 ``` **Важно:** если изменять поля объектов, используемых как ключи в `HashSet`, это может нарушить уникальность. Для mutable-объектов лучше использовать immutable-ключи.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы