Функция sort
Функция sort выполняет сортировку элементов
изменяемой коллекции в естественном порядке.
Функция работает in-place, то есть изменяет
исходную коллекцию. Применяется к изменяемым
коллекциям: MutableList, Array,
MutableSet (преобразованному в список).
Синтаксис
fun <T : Comparable<T>> MutableList<T>.sort()
fun <T : Comparable<T>> Array<out T>.sort()
Пример
Отсортируем изменяемый список чисел:
val numbers = mutableListOf(5, 2, 8, 1, 9)
numbers.sort()
println(numbers)
Результат выполнения кода:
MutableList<Int> [1, 2, 5, 8, 9]
Пример
Отсортируем массив строк:
val chars = arrayOf('d', 'a', 'c', 'e', 'b')
chars.sort()
println(chars.contentToString())
Результат выполнения кода:
Array<Char> ['a', 'b', 'c', 'd', 'e']
Пример
Для неизменяемых коллекций используйте функцию
sorted, которая возвращает новый
отсортированный список:
val immutableList = listOf(5, 2, 8, 1, 9)
val sortedList = immutableList.sorted()
println(sortedList)
Результат выполнения кода:
List<Int> [1, 2, 5, 8, 9]
Пример
Функция sort не работает с Map
напрямую. Для сортировки map используйте
преобразование в список:
val map = mutableMapOf(3 to "c", 1 to "a", 2 to "b")
val sortedEntries = map.entries.sortedBy { it.key }
println(sortedEntries)
Результат выполнения кода:
List<Map.Entry<Int, String>> [1=a, 2=b, 3=c]
Поддерживаемые типы коллекций
Функция sort работает со следующими типами коллекций:
MutableList- изменяемые спискиArray- массивыMutableSet(после преобразования в список)
Не работает с:
List- неизменяемые спискиSet- множестваMap- ассоциативные массивы
Смотрите также
-
функцию
sorted,
которая возвращает новый отсортированный список