Метод reverseOrder
Метод reverseOrder класса Comparator возвращает
компаратор, который навязывает обратный порядок сортировки
по отношению к естественному порядку элементов.
Метод не принимает параметров и является статическим.
Возвращаемый компаратор сначала сравнивает элементы
в естественном порядке, а затем меняет знак результата
на противоположный. Это означает, что элементы,
которые обычно идут первыми, при использовании
reverseOrder будут идти последними.
Метод удобно применять для сортировки коллекций
и массивов в убывающем порядке, а также для
построения более сложных компараторов с помощью
метода thenComparing.
Синтаксис
Comparator.reverseOrder()
Пример
Давайте отсортируем список чисел в убывающем порядке:
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));
list.sort(Comparator.reverseOrder());
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("a", "b", "c", "d", "e"));
list.sort(Comparator.reverseOrder());
System.out.println(list);
}
}
Результат выполнения кода:
[e, d, c, b, a]
Пример
Давайте отсортируем массив чисел в убывающем порядке
с помощью метода Arrays.sort:
import java.util.Arrays;
import java.util.Comparator;
public class Main
{
public static void main(String[] args)
{
Integer[] arr = {3, 1, 5, 2, 4};
Arrays.sort(arr, Comparator.reverseOrder());
System.out.println(Arrays.toString(arr));
}
}
Результат выполнения кода:
[5, 4, 3, 2, 1]
Смотрите также
-
метод
naturalOrder,
который возвращает компаратор естественного порядка -
метод
reversed,
который возвращает обратный компаратор -
метод
thenComparing,
который объединяет несколько компараторов -
класс
Comparator,
который предназначен для сравнения объектов