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

В чем разница между HashSet, LinkedHashSet и TreeSet

`HashSet` использует хеш-таблицу для хранения элементов, обеспечивая вставку/удаление за O(1), но без гарантии порядка. `LinkedHashSet` расширяет `HashSet`, сохраняя порядок вставки (двусвязный список + хеш-таблица), но с чуть большими накладными расходами. `TreeSet` хранит элементы в отсортированном порядке (красно-черное дерево), обеспечивая O(log n) для операций, но требует `Comparable` или `Comparator`. Пример: ```java Set hashSet = new HashSet<>(Arrays.asList(3, 1, 2)); // [1, 2, 3] (порядок не гарантирован) Set linkedSet = new LinkedHashSet<>(Arrays.asList(3, 1, 2)); // [3, 1, 2] (порядок вставки) Set treeSet = new TreeSet<>(Arrays.asList(3, 1, 2)); // [1, 2, 3] (сортировка) ``` Выбор зависит от потребности в порядке или скорости.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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