Функция sorted

Функция sorted выполняет сортировку элементов коллекции в естественном порядке (по возрастанию) и возвращает новый List с отсортированными элементами. Функция работает только с элементами, которые реализуют интерфейс Comparable. Для сортировки в произвольном порядке используйте функцию sortedWith с компаратором.

Импорт

kotlinimport kotlin.collections.sorted

Синтаксис

kotlinfun <T : Comparable<T>> Iterable<T>.sorted(): List<T>
kotlinfun <T : Comparable<T>> Array<out T>.sorted(): List<T>

Поддерживаемые типы коллекций

Функция sorted доступна для следующих типов коллекций:

Для Map функция sorted недоступна напрямую, но можно сортировать ключи или значения через map.keys.sorted() или map.values.sorted().

Пример

Отсортируем массив чисел:

kotlinval numbers = arrayOf(5, 2, 8, 1, 9)
val res = numbers.sorted()
println(res)

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

kotlinList<Int> [1, 2, 5, 8, 9]

Пример

Отсортируем список символов:

kotlinval chars = listOf('e', 'a', 'c', 'b', 'd')
val res = chars.sorted()
println(res)

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

kotlinList<Char> ['a', 'b', 'c', 'd', 'e']

Пример

Отсортируем множество строк:

kotlinval strings = setOf("zebra", "apple", "banana", "cherry")
val res = strings.sorted()
println(res)

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

kotlinList<String> ["apple", "banana", "cherry", "zebra"]

Пример

Попытка сортировки несовместимых типов вызовет ошибку компиляции:

kotlinclass Person(val name: String)

val people = listOf(Person("John"), Person("Alice"))
val res = people.sorted() // Ошибка: Type parameter T is not comparable

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

  • функцию sortedDescending,
    которая выполняет сортировку в обратном порядке
  • функцию sortedWith,
    которая выполняет сортировку с использованием компаратора
  • функцию sort,
    которая сортирует исходную коллекцию (in-place)