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

В чем разница между 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] ``` Выбор зависит от необходимости сохранять порядок вставки.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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