Встречается на собеседованиях • сегодня
Какие свойства должен иметь объект в TreeMap для корректной работы
Объект должен быть Comparable или передаваться с Comparator в конструкторе TreeMap. Ключевые требования:
1. **Согласованность с equals**: compareTo/compare должен возвращать 0 только когда equals возвращает true. Нарушение может привести к странному поведению.
2. **Транзитивность**: если a.compareTo(b) > 0 и b.compareTo(c) > 0, то a.compareTo(c) > 0.
Пример корректного класса:
```java
class Person implements Comparable {
String name;
int age;
@Override
public int compareTo(Person o) {
int nameCompare = name.compareTo(o.name);
return nameCompare != 0 ? nameCompare : Integer.compare(age, o.age);
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Person)) return false;
Person p = (Person) o;
return name.equals(p.name) && age == p.age;
}
}
```

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