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

В чем разница между Comparable и Comparator в Java

`Comparable` и `Comparator` — оба интерфейса для сравнения объектов, но с разной логикой: 1. **Comparable** - Встроен в класс (`implements Comparable`). - Определяет естественный порядок сортировки через метод `compareTo()`. - Пример: ```java class Person implements Comparable { String name; public int compareTo(Person other) { return this.name.compareTo(other.name); } } ``` 2. **Comparator** - Внешний интерфейс, не требует изменения класса. - Позволяет создавать множественные стратегии сортировки через метод `compare()`. - Пример: ```java Comparator byAge = (p1, p2) -> Integer.compare(p1.age, p2.age); Collections.sort(people, byAge); ``` **Итог:** - `Comparable` — для единственного "естественного" порядка (например, строки по алфавиту). - `Comparator` — для гибких сортировок (например, сортировка пользователей по возрасту, зарплате и т.д.).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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