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

Метод comparing

Метод comparing класса Comparator создает компаратор, который сравнивает объекты по ключу, извлекаемому с помощью переданной функции. В первый параметр мы передаем функцию-экстрактор keyExtractor, которая преобразует объект в ключ сортировки. Ключ должен реализовывать интерфейс Comparable. Метод возвращает новый компаратор Comparator.

Синтаксис

Comparator.comparing(keyExtractor)

Пример

Давайте отсортируем список строк по их длине:

import java.util.Comparator; import java.util.List; public class Main { public static void main(String[] args) { List<String> list = List.of("abcde", "a", "abc", "ab", "abcd"); List<String> res = list.stream() .sorted(Comparator.comparing(String::length)) .toList(); System.out.println(res); } }

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

[a, ab, abc, abcd, abcde]

Пример

Давайте отсортируем список чисел по их строковому представлению:

import java.util.Comparator; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> list = List.of(10, 2, 30, 4, 5); List<Integer> res = list.stream() .sorted(Comparator.comparing(String::valueOf)) .toList(); System.out.println(res); } }

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

[10, 2, 30, 4, 5]

Пример

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

import java.util.Comparator; import java.util.List; public class Main { public static void main(String[] args) { List<String> list = List.of("abcde", "a", "abc", "ab", "abcd"); List<String> res = list.stream() .sorted(Comparator.comparing(String::length).reversed()) .toList(); System.out.println(res); } }

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

[abcde, abcd, abc, ab, a]

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

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