Встречается на собеседованиях • сегодня
Какие условия необходимы для корректной работы TreeSet
TreeSet требует, чтобы элементы реализовывали интерфейс `Comparable` или использовали `Comparator` при создании. Это необходимо для упорядочивания элементов. Если ни то, ни другое не предоставлено, будет выброшено `ClassCastException`.
Пример с `Comparable`:
```java
class Person implements Comparable {
String name;
public int compareTo(Person other) {
return this.name.compareTo(other.name);
}
}
TreeSet set = new TreeSet<>();
```
Пример с `Comparator`:
```java
Comparator byName = Comparator.comparing(p -> p.name);
TreeSet set = new TreeSet<>(byName);
```
Также важно, чтобы `compareTo`/`compare` были согласованы с `equals` (т.е. `a.compareTo(b) == 0` должно быть эквивалентно `a.equals(b)`), иначе могут возникнуть проблемы при работе с `TreeSet`.

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