Встречается на собеседованиях • сегодня
Как происходит сортировка в TreeSet
TreeSet использует красно-черное дерево для хранения элементов, что гарантирует логарифмическое время выполнения основных операций (add, remove, contains).
Сортировка происходит:
1. На основе natural ordering (Comparable) - элементы должны реализовывать Comparable
2. Либо через Comparator, переданный в конструктор
Пример с natural ordering:
```java
TreeSet numbers = new TreeSet<>();
numbers.add(3);
numbers.add(1);
numbers.add(2);
// [1, 2, 3] - автоматически сортируется
```
Пример с Comparator:
```java
TreeSet reversed = new TreeSet<>(Comparator.reverseOrder());
reversed.add("a");
reversed.add("c");
reversed.add("b");
// [c, b, a] - сортировка в обратном порядке
```
Важно: все элементы должны быть Comparable или должен быть предоставлен Comparator, иначе получим ClassCastException. TreeSet не допускает null-значения (выбрасывает NullPointerException).

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