Метод naturalOrder
Метод naturalOrder класса Comparator возвращает
компаратор, который сравнивает объекты в их естественном
порядке. Под естественным порядком понимается порядок,
определённый реализацией интерфейса Comparable
у самих сравниваемых объектов. Метод не принимает параметров.
Возвращаемый компаратор удобно использовать для сортировки
коллекций и массивов, а также в качестве базового компаратора
для последующей настройки через reversed и
thenComparing.
Синтаксис
Comparator.naturalOrder()
Пример
Давайте отсортируем список чисел в естественном порядке:
import java.util.Comparator;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = List.of(3, 1, 5, 2, 4);
List<Integer> res = list.stream()
.sorted(Comparator.naturalOrder())
.toList();
System.out.println(res);
}
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Пример
Давайте отсортируем список строк в естественном порядке:
import java.util.Comparator;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> list = List.of("abcde", "abd", "ab", "abcd");
List<String> res = list.stream()
.sorted(Comparator.naturalOrder())
.toList();
System.out.println(res);
}
}
Результат выполнения кода:
[ab, abcd, abcde, abd]
Пример
Давайте получим компаратор обратного порядка,
применив метод reversed к результату
naturalOrder:
import java.util.Comparator;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = List.of(3, 1, 5, 2, 4);
List<Integer> res = list.stream()
.sorted(Comparator.naturalOrder().reversed())
.toList();
System.out.println(res);
}
}
Результат выполнения кода:
[5, 4, 3, 2, 1]
Смотрите также
-
класс
Comparator,
который задаёт порядок сравнения объектов -
метод
compare,
который сравнивает два объекта -
метод
reverseOrder,
который возвращает компаратор обратного порядка -
метод
reversed,
который меняет порядок компаратора на обратный