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

Почему для объекта хранящегося в 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 set = new TreeSet<>(); set.add(new Object()); // ClassCastException ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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