Метод sort
Метод sort класса Collections сортирует
элементы переданного списка. Сортировка происходит
непосредственно в исходном списке, то есть метод
изменяет его, а не возвращает новый. По умолчанию
элементы сортируются в естественном порядке
(по возрастанию). Первым параметром метод принимает
список для сортировки. Вторым необязательным
параметром можно передать компаратор, который
задаёт собственный порядок сортировки.
Синтаксис
Collections.sort(list)
Collections.sort(list, comparator)
Пример
Давайте отсортируем список чисел в естественном порядке:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = new ArrayList<>(List.of(5, 2, 4, 1, 3));
Collections.sort(list);
System.out.println(list);
}
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Пример
Давайте отсортируем список строк в естественном порядке:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> list = new ArrayList<>(List.of("abcde", "bcd", "abc", "de", "a"));
Collections.sort(list);
System.out.println(list);
}
}
Результат выполнения кода:
[a, abc, abcde, bcd, de]
Пример
Давайте отсортируем список чисел в обратном порядке, передав компаратор:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = new ArrayList<>(List.of(5, 2, 4, 1, 3));
Collections.sort(list, Comparator.reverseOrder());
System.out.println(list);
}
}
Результат выполнения кода:
[5, 4, 3, 2, 1]
Пример
Давайте отсортируем список строк по длине, передав собственный компаратор:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> list = new ArrayList<>(List.of("abcde", "bcd", "abc", "de", "a"));
Collections.sort(list, Comparator.comparingInt(String::length));
System.out.println(list);
}
}
Результат выполнения кода:
[a, de, abc, bcd, abcde]
Смотрите также
-
класс
Collections,
который содержит статические методы для работы с коллекциями -
метод
binarySearch,
который ищет элемент в отсортированном списке -
метод
reverse,
который меняет порядок элементов на обратный -
метод
shuffle,
который перемешивает элементы списка