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

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

`HashSet` и `TreeSet` – оба реализуют интерфейс `Set`, но имеют ключевые различия: 1. **Скорость и порядок**: - `HashSet` использует хэш-таблицу, обеспечивая вставку/удаление за O(1) в среднем, но не гарантирует порядок элементов. - `TreeSet` хранит элементы в отсортированном порядке (по `Comparable` или `Comparator`), но операции вставки/удаления занимают O(log n). 2. **Null-значения**: - `HashSet` разрешает один `null`. - `TreeSet` выбрасывает `NullPointerException` при добавлении `null`. 3. **Производительность**: - `HashSet` быстрее для частых операций добавления/проверки. - `TreeSet` полезен, когда нужен порядок или диапазонные запросы (`subSet()`, `headSet()`). Пример: ```java Set hashSet = new HashSet<>(); hashSet.add("apple"); hashSet.add(null); // OK Set treeSet = new TreeSet<>(); treeSet.add("banana"); treeSet.add(null); // NullPointerException ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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