Java.util.Comparator является функциональным интерфейсом в Java, который используется для определения порядка элементов в коллекции. Интерфейс Comparator требует, чтобы в реализующем классе был реализован единственный метод - compare()
.
Прототип метода compare()
выглядит следующим образом:
int compare(Object o1, Object o2)
Здесь o1 и o2 - объекты, которые необходимо сравнить. Если o1 меньше o2, метод возвращает отрицательное значение; если o1 равно o2, метод возвращает ноль; если o1 больше o2, метод возвращает положительное значение.
Рассмотрим пример реализации метода compare()
для сравнения двух строк:
import java.util.Comparator;
public class MyComparator implements Comparator<String> {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
}
В этом примере мы создали класс MyComparator
, который реализует интерфейс Comparator<String>
. Метод compare()
сравнивает две строки на основе их длины.
Поэтому решением нашего тестового вопроса является метод compare()
. Это единственный метод, который необходимо реализовать в классе для удовлетворения требований интерфейса Comparator
.
Методы compareTo()
, equals()
, hashCode()
не требуются для реализации интерфейса Comparator, поэтому это неверные ответы на вопрос.
Использование интерфейса Comparator
и его метода compare()
- это ключевой подход в Java для определения пользовательского порядка сортировки.