Back to questions
Junior — Middle
66
Какова основная роль интерфейса Comparator в Java и зачем он используется?
Answer from AI
sobes.tech AI
Интерфейс Comparator в Java используется для определения порядка объектов, когда естественный порядок (через Comparable) не подходит или отсутствует. Он позволяет задать пользовательскую логику сравнения двух объектов, что полезно при сортировке коллекций или массивов по разным критериям.
Пример использования Comparator для сортировки списка строк по длине:
import java.util.*;
List<String> list = Arrays.asList("apple", "banana", "pear");
Collections.sort(list, new Comparator<String>() {
public int compare(String s1, String s2) {
return Integer.compare(s1.length(), s2.length());
}
});
// Теперь list отсортирован по длине строк
С Java 8 можно использовать лямбда-выражения для упрощения:
Collections.sort(list, (s1, s2) -> Integer.compare(s1.length(), s2.length()));