Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
menu

Функция sortedByDescending

Функция sortedByDescending выполняет сортировку элементов коллекции по убыванию значений, полученных с помощью селекторной функции. Возвращает новый список с отсортированными элементами. Применяется к коллекциям типа Array, List, Set и другим итерируемым коллекциям.

Синтаксис

inline fun <T, R : Comparable<R>> Array<out T>.sortedByDescending( crossinline selector: (T) -> R? ): List<T>
inline fun <T, R : Comparable<R>> Iterable<T>.sortedByDescending( crossinline selector: (T) -> R? ): List<T>

Пример

Отсортируем массив чисел по убыванию их абсолютных значений:

val numbers = arrayOf(-5, 3, -1, 4, -2) val res = numbers.sortedByDescending { Math.abs(it) } println(res)

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

List<-5, 4, 3, -2, -1>

Пример

Отсортируем список строк по убыванию их длины:

val words = listOf("apple", "banana", "cherry", "date") val res = words.sortedByDescending { it.length } println(res)

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

List<"banana", "cherry", "apple", "date">

Пример

Отсортируем множество объектов по убыванию значения их свойства:

data class Person(val name: String, val age: Int) val people = setOf( Person("Alice", 25), Person("Bob", 30), Person("Charlie", 20) ) val res = people.sortedByDescending { it.age } println(res)

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

List<Person(name=Bob, age=30), Person(name=Alice, age=25), Person(name=Charlie, age=20)>

Пример

Для Map функция sortedByDescending применяется к записям (Entry), и мы можем сортировать по ключам или значениям:

val map = mapOf("a" to 3, "b" to 1, "c" to 2) val res = map.entries.sortedByDescending { it.value } println(res)

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

List<a=3, c=2, b=1>

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

  • функцию sortedBy,
    которая выполняет сортировку по возрастанию
  • функцию sorted,
    которая выполняет естественную сортировку элементов
  • функцию sortedWith,
    которая выполняет сортировку с использованием компаратора
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить