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

Какие знаешь имплементации Set

В Java основные реализации интерфейса `Set`: 1. **HashSet** – основан на хэш-таблице (использует `HashMap` внутри). Гарантирует O(1) для `add()`, `remove()`, `contains()`, но не сохраняет порядок элементов. ```java Set set = new HashSet<>(); ``` 2. **LinkedHashSet** – сохраняет порядок вставки элементов, использует `LinkedHashMap` внутри. Немного медленнее `HashSet` из-за поддержки порядка. 3. **TreeSet** – реализован на основе `TreeMap` (красно-черное дерево). Элементы сортируются (натуральный порядок или `Comparator`). Операции `add()`, `remove()`, `contains()` – O(log n). ```java Set sortedSet = new TreeSet<>(); ``` 4. **CopyOnWriteArraySet** – потокобезопасная реализация, использует `CopyOnWriteArrayList`. Подходит для редких модификаций и частого чтения. 5. **EnumSet** – оптимизирован для работы с enum, очень эффективен по памяти и скорости. Использует битовые маски. ```java EnumSet days = EnumSet.allOf(DayOfWeek.class); ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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