Встречается на собеседованиях • сегодня
Гарантирует ли уникальность интерфейс 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-ключи.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы