НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
460 of 1310 menu

Функция 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)
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить