Встречается на собеседованиях • сегодня
Почему для объекта хранящегося в TreeSet нужно реализовывать интерфейс Comparable
TreeSet использует красно-черное дерево для хранения элементов в отсортированном порядке. Для корректного сравнения и размещения элементов TreeSet требует либо:
1. Реализации Comparable у элементов (естественный порядок)
2. Передачи Comparator в конструктор TreeSet
Без этого TreeSet не сможет определить порядок элементов и выбросит ClassCastException при добавлении. Пример:
```java
class Person implements Comparable {
String name;
@Override
public int compareTo(Person o) {
return this.name.compareTo(o.name);
}
}
TreeSet set = new TreeSet<>(); // Работает, т.к. Person реализует Comparable
```
Если не реализовать Comparable и не передать Comparator:
```java
TreeSet

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