Ответ
Метод int compare(T o1, T o2) объявлен в интерфейсе java.util.Comparator<T>. Он используется для определения порядка двух объектов.
Контракт метода:
- Возвращает отрицательное целое число, если
o1меньшеo2. - Возвращает ноль, если
o1равенo2. - Возвращает положительное целое число, если
o1большеo2.
Практический пример:
// Компаратор для целых чисел (естественный порядок)
Comparator<Integer> naturalOrder = (a, b) -> a - b;
int result1 = naturalOrder.compare(3, 5); // -2 (3 < 5)
int result2 = naturalOrder.compare(5, 5); // 0 (5 == 5)
int result3 = naturalOrder.compare(7, 5); // 2 (7 > 5)
// Компаратор для строк по длине
Comparator<String> byLength = (s1, s2) -> s1.length() - s2.length();
Этот метод является основой для сортировки коллекций (Collections.sort) и работы упорядоченных структур данных (например, TreeSet, TreeMap).