Встречается на собеседованиях • сегодня
В чем разница между LinkedHashSet и HashSet
`LinkedHashSet` и `HashSet` оба реализуют интерфейс `Set`, но различаются порядком хранения элементов:
1. **HashSet**:
- Не гарантирует порядок элементов (может меняться при добавлении/удалении).
- Основан на `HashMap`.
- Быстрее для операций `add`, `remove`, `contains` (O(1) в среднем).
2. **LinkedHashSet**:
- Сохраняет порядок вставки элементов (итерирование будет в порядке добавления).
- Основан на `LinkedHashMap`.
- Немного медленнее из-за поддержки связанного списка.
Пример:
```java
Set hashSet = new HashSet<>();
hashSet.add("B");
hashSet.add("A");
System.out.println(hashSet); // Порядок не гарантирован, например [A, B]
Set linkedHashSet = new LinkedHashSet<>();
linkedHashSet.add("B");
linkedHashSet.add("A");
System.out.println(linkedHashSet); // Гарантированно [B, A]
```
Выбор зависит от необходимости сохранять порядок вставки.

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