Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Collections.sort()

Сортирует список на месте.

Доступно с: Java 1.2

Синтаксис

static <T extends Comparable<? super T>> void sort(List<T> list)
static <T> void sort(List<T> list, Comparator<? super T> c)

Параметры

ПараметрТипОписание
listList<T>Сортируемый изменяемый список.
cComparator<? super T>Необязательное правило сравнения.

Примеры

Естественный порядок и порядок по правилу:

void main() {
    List<String> names = new ArrayList<>(List.of("Oleg", "anna", "Ivan"));
    Collections.sort(names);
    IO.println(names);
    Collections.sort(names, String.CASE_INSENSITIVE_ORDER);
    IO.println(names);
}

Результат:

[Ivan, Oleg, anna]
[anna, Ivan, Oleg]

Примечания

С Java 8 тот же результат даёт list.sort(comparator) — в новом коде чаще пишут так. Строки сортируются по кодам символов, поэтому заглавные буквы идут раньше строчных. Элементы без Comparable требуют компаратора, иначе ошибка компиляции.

См. также

  • List.sort() — Сортирует список на месте по заданному правилу.
  • Comparator.comparing() — Создаёт компаратор, который сравнивает объекты по одному полю.
  • Collections.reverse() — Разворачивает порядок элементов списка на месте.

Вопросы и ответы по теме

В учебнике

  • Сортировка и компараторы — Сортировка коллекций в Java: естественный порядок, обратный порядок, интерфейс Comparable, Comparator.comparing и сортировка по нескольким полям.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.