Sobes.tech
Назад к вопросам
Junior — Middle
65

Какова основная роль интерфейса Comparator в Java и зачем он используется?

Ответ от нейросети

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()));