Функция sorted
Функция sorted выполняет сортировку элементов коллекции
в естественном порядке (по возрастанию) и возвращает новый
List с отсортированными элементами. Функция работает
только с элементами, которые реализуют интерфейс Comparable.
Для сортировки в произвольном порядке используйте функцию
sortedWith с компаратором.
Импорт
import kotlin.collections.sorted
Синтаксис
fun <T : Comparable<T>> Iterable<T>.sorted(): List<T>
fun <T : Comparable<T>> Array<out T>.sorted(): List<T>
Поддерживаемые типы коллекций
Функция sorted доступна для следующих типов коллекций:
Array- массивыList- спискиSet- множестваIterable- любые итерируемые коллекции
Для Map функция sorted недоступна напрямую,
но можно сортировать ключи или значения через
map.keys.sorted() или map.values.sorted().
Пример
Отсортируем массив чисел:
val numbers = arrayOf(5, 2, 8, 1, 9)
val res = numbers.sorted()
println(res)
Результат выполнения кода:
List<Int> [1, 2, 5, 8, 9]
Пример
Отсортируем список символов:
val chars = listOf('e', 'a', 'c', 'b', 'd')
val res = chars.sorted()
println(res)
Результат выполнения кода:
List<Char> ['a', 'b', 'c', 'd', 'e']
Пример
Отсортируем множество строк:
val strings = setOf("zebra", "apple", "banana", "cherry")
val res = strings.sorted()
println(res)
Результат выполнения кода:
List<String> ["apple", "banana", "cherry", "zebra"]
Пример
Попытка сортировки несовместимых типов вызовет ошибку компиляции:
class 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)