Функция sort

Функция sort выполняет сортировку элементов изменяемой коллекции в естественном порядке. Функция работает in-place, то есть изменяет исходную коллекцию. Применяется к изменяемым коллекциям: MutableList, Array, MutableSet (преобразованному в список).

Синтаксис

kotlinfun <T : Comparable<T>> MutableList<T>.sort()
kotlinfun <T : Comparable<T>> Array<out T>.sort()

Пример

Отсортируем изменяемый список чисел:

kotlinval numbers = mutableListOf(5, 2, 8, 1, 9)
numbers.sort()
println(numbers)

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

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

Пример

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

kotlinval chars = arrayOf('d', 'a', 'c', 'e', 'b')
chars.sort()
println(chars.contentToString())

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

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

Пример

Для неизменяемых коллекций используйте функцию sorted, которая возвращает новый отсортированный список:

kotlinval immutableList = listOf(5, 2, 8, 1, 9)
val sortedList = immutableList.sorted()
println(sortedList)

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

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

Пример

Функция sort не работает с Map напрямую. Для сортировки map используйте преобразование в список:

kotlinval map = mutableMapOf(3 to "c", 1 to "a", 2 to "b")
val sortedEntries = map.entries.sortedBy { it.key }
println(sortedEntries)

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

kotlinList<Map.Entry<Int, String>> [1=a, 2=b, 3=c]

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

Функция sort работает со следующими типами коллекций:

Не работает с:

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

  • функцию sorted,
    которая возвращает новый отсортированный список