Spec-Zone.ru › Kotlin 2

compareByDescending

kotlin-stdlib/kotlin.comparisons/compareByDescending

Начиная с Kotlin: 1.0

inline fun <T> compareByDescending(crossinline selector: (T) -> Comparable<*>?): Comparator<T>

Создаёт компаратор с обратным порядком, используя функцию для преобразования значения в экземпляр Comparable для сравнения.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   val list = listOf("aa", "b", "bb", "a")

val sorted = list.sortedWith(compareByDescending { it.length })

println(sorted) // [aa, bb, b, a] 
   //sampleEnd
}

inline fun <T, K> compareByDescending(comparator: Comparator<in K>, crossinline selector: (T) -> K): Comparator<T>

Создаёт компаратор с обратным порядком, используя функцию селектор для преобразования сравниваемых значений, а затем применяя указанный компаратор для сравнения преобразованных значений.

Обратите внимание, что эта обёртка меняет порядок компаратора на обратный.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   val list = listOf('B', 'a', 'A', 'b')

val sorted = list.sortedWith(
    compareByDescending(String.CASE_INSENSITIVE_ORDER) { v -> v.toString() }
)

println(sorted) // [B, b, a, A] 
   //sampleEnd
}

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.comparisons/compare-by-descending.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API