Back to questions
Junior — Middle
92
Объясните, что подразумевается под интерфейсом Comparator в языке Java.
Answer from AI
sobes.tech AI
Интерфейс Comparator в Java используется для определения порядка объектов, когда естественный порядок (через Comparable) не подходит или отсутствует. Он содержит метод compare(T o1, T o2), который сравнивает два объекта и возвращает:
- отрицательное число, если
o1меньшеo2 - ноль, если они равны
- положительное число, если
o1большеo2
Это позволяет сортировать коллекции по разным критериям без изменения самих классов объектов.
Пример использования:
List<String> names = Arrays.asList("Anna", "John", "Bob");
// Сортировка по длине строки
Collections.sort(names, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return Integer.compare(s1.length(), s2.length());
}
});
// Или с лямбда-выражением
Collections.sort(names, (s1, s2) -> s1.length() - s2.length());