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

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

`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**: - Отдельный интерфейс (`Comparator`), реализуется в другом классе. - Позволяет создавать множество различных правил сортировки через метод `compare()`. - Пример: ```java Comparator ageComparator = (p1, p2) -> p1.getAge() - p2.getAge(); ``` **Когда использовать**: - `Comparable` — если у класса есть "естественный" порядок (например, String, Integer). - `Comparator` — для гибкой сортировки (разные критерии) или если нельзя изменить исходный класс.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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