Встречается на 2% собеседований по Java

Какие требования к элементам в TreeMap

Элементы в TreeMap должны быть либо:

  1. Comparable (реализовывать интерфейс Comparable<T>), либо
  2. В конструктор TreeMap должен передаваться Comparator<K> для сравнения ключей.

Если ни одно из условий не выполняется, при добавлении элемента выбросится ClassCastException.

Пример с Comparable:

java
class Person implements Comparable<Person> {
    String name;
    public int compareTo(Person p) {
        return this.name.compareTo(p.name);
    }
}
TreeMap<Person, String> map = new TreeMap<>();

Пример с Comparator:

java
Comparator<String> reverseComparator = (s1, s2) -> s2.compareTo(s1);
TreeMap<String, Integer> map = new TreeMap<>(reverseComparator);

Ключи должны быть уникальными, значения могут повторяться. TreeMap не поддерживает null-ключи, если только Comparator явно не разрешает сравнение с null.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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