Spec-Zone.ru › Kotlin 2

isSortedBy

kotlin-stdlib/kotlin.sequences/isSortedBy

Начиная с Kotlin: 2.4

inline fun <T, R : Comparable<R>> Sequence<T>.isSortedBy(selector: (T) -> R?): Boolean

Возвращает true, если для каждого элемента последовательности значение, полученное с помощью селектора, меньше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.

Возвращает true, если последовательность содержит менее двух элементов.

Значения селектора соседних элементов сравниваются последовательно с помощью compareValues, и последовательность считается отсортированной, если для каждой пары соседних элементов значение селектора предшествующего элемента не больше значения следующего элемента.

Если селектор возвращает null для элемента, значение null считается меньше любого ненулевого значения.

Обратите внимание, что результат зависит от порядка итерации последовательности. Порядок итерации некоторых реализаций Sequence может быть нестабильным (меняться от одного вызова к другому), и в этом случае эта функция может возвращать непоследовательные результаты.

Операция является терминальной.

Примеры


fun main() { 
   //sampleStart 
   println(sequenceOf<String>().isSortedBy { it.length }) // true
println(sequenceOf("c").isSortedBy { it.length }) // true

println(sequenceOf("c", "bb", "aaa").isSortedBy { it.length }) // true
println(sequenceOf("c", "bb", "aaa").isSortedBy { it }) // false
println(sequenceOf("a", "b").isSortedBy { if (it == "a") null else it }) // true
println(sequenceOf(null, "a", "b").isSortedBy { it }) // true
println(sequenceOf(null, "c", "bb").isSortedBy { it?.length }) // true 
   //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.sequences/is-sorted-by.html

Spec-Zone.ru

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