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

Метод reversed

Метод reversed класса Comparator возвращает новый компаратор, который меняет порядок сортировки исходного компаратора на противоположный. Метод не принимает параметров и не изменяет исходный компаратор, а создает и возвращает новый объект Comparator. Это удобно, когда нужно отсортировать коллекцию в обратном порядке, не создавая отдельный компаратор с нуля.

Синтаксис

comparator.reversed()

Пример

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

import java.util.Comparator; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> list = new java.util.ArrayList<>(List.of(3, 1, 5, 2, 4)); Comparator<Integer> natural = Comparator.naturalOrder(); Comparator<Integer> reversed = natural.reversed(); list.sort(reversed); System.out.println(list); } }

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

[5, 4, 3, 2, 1]

Пример

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

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

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

[abcde, abcd, abc, ab, a]

Пример

Давайте применим метод reversed дважды и убедимся, что порядок вернется к исходному:

import java.util.Comparator; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> list = new java.util.ArrayList<>(List.of(3, 1, 5, 2, 4)); Comparator<Integer> natural = Comparator.naturalOrder(); Comparator<Integer> doubleReversed = natural.reversed().reversed(); list.sort(doubleReversed); System.out.println(list); } }

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

[1, 2, 3, 4, 5]

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

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