РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
351 of 1163 menu

Метод compare

Метод compare класса Comparator сравнивает два объекта и возвращает целое число. Если первый объект меньше второго, метод возвращает отрицательное число. Если объекты равны, возвращается ноль. Если первый объект больше второго, возвращается положительное число. В первый параметр мы передаем первый объект для сравнения, во второй - второй объект.

Синтаксис

int compare(T o1, T o2)

Пример

Давайте создадим компаратор, который сравнивает числа по их натуральному порядку, и сравним несколько пар:

import java.util.Comparator; public class Main { public static void main(String[] args) { Comparator<Integer> cmp = (a, b) -> Integer.compare(a, b); System.out.println(cmp.compare(1, 2)); System.out.println(cmp.compare(2, 2)); System.out.println(cmp.compare(3, 2)); } }

Результат выполнения кода:

-1 0 1

Пример

Давайте создадим компаратор, который сравнивает строки по их длине, и сравним несколько пар:

import java.util.Comparator; public class Main { public static void main(String[] args) { Comparator<String> cmp = (a, b) -> Integer.compare(a.length(), b.length()); System.out.println(cmp.compare("abcde", "abc")); System.out.println(cmp.compare("abc", "abcde")); System.out.println(cmp.compare("abc", "123")); } }

Результат выполнения кода:

2 -2 0

Пример

Давайте отсортируем список строк с помощью компаратора, сравнивающего строки в обратном порядке:

import java.util.Comparator; import java.util.List; import java.util.ArrayList; public class Main { public static void main(String[] args) { List<String> list = new ArrayList<>(List.of("abcde", "abc", "ab", "12345")); Comparator<String> cmp = (a, b) -> b.compareTo(a); list.sort(cmp); System.out.println(list); } }

Результат выполнения кода:

[abcde, abc, ab, 12345]

Смотрите также

  • класс Comparator,
    который используется для сравнения объектов
  • метод comparing,
    который создает компаратор по ключу
  • метод reversed,
    который меняет порядок компаратора
  • метод compareTo,
    который сравнивает объекты внутри класса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить