Отсортирован по убыванию
Версия Kotlin: 2.4
inline fun <T, R : Comparable<R>> Array<out T>.isSortedByDescending(selector: (T) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
fun main() {
//sampleStart
println(arrayOf<String>().isSortedByDescending { it.length }) // true
println(arrayOf("aaa").isSortedByDescending { it.length }) // true
val values = arrayOf("aaa", "bb", "c")
println(values.isSortedByDescending { it.length }) // true
println(values.isSortedByDescending { it }) // false
println(arrayOf("b", "a").isSortedByDescending { if (it == "a") null else it }) // true
println(arrayOf("aaa", "bb", null).isSortedByDescending { it?.length }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> ByteArray.isSortedByDescending(selector: (Byte) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(byteArrayOf().isSortedByDescending { it * it }) // true
println(byteArrayOf(5).isSortedByDescending { it * it }) // true
val values = byteArrayOf(5, -4, 3, -2, 1)
println(values.isSortedByDescending { it * it }) // true
println(values.isSortedByDescending { abs(it.toInt()) }) // true
println(values.isSortedByDescending { it }) // false
println(byteArrayOf(2, 1).isSortedByDescending { if (it.toInt() == 1) null else it }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> ShortArray.isSortedByDescending(selector: (Short) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(shortArrayOf().isSortedByDescending { it * it }) // true
println(shortArrayOf(5).isSortedByDescending { it * it }) // true
val values = shortArrayOf(5, -4, 3, -2, 1)
println(values.isSortedByDescending { it * it }) // true
println(values.isSortedByDescending { abs(it.toInt()) }) // true
println(values.isSortedByDescending { it }) // false
println(shortArrayOf(2, 1).isSortedByDescending { if (it.toInt() == 1) null else it }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> IntArray.isSortedByDescending(selector: (Int) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(intArrayOf().isSortedByDescending { it * it }) // true
println(intArrayOf(5).isSortedByDescending { it * it }) // true
val values = intArrayOf(5, -4, 3, -2, 1)
println(values.isSortedByDescending { it * it }) // true
println(values.isSortedByDescending { abs(it) }) // true
println(values.isSortedByDescending { it }) // false
println(intArrayOf(2, 1).isSortedByDescending { if (it == 1) null else it }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> LongArray.isSortedByDescending(selector: (Long) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(longArrayOf().isSortedByDescending { it * it }) // true
println(longArrayOf(5L).isSortedByDescending { it * it }) // true
val values = longArrayOf(5L, -4L, 3L, -2L, 1L)
println(values.isSortedByDescending { it * it }) // true
println(values.isSortedByDescending { abs(it) }) // true
println(values.isSortedByDescending { it }) // false
println(longArrayOf(2L, 1L).isSortedByDescending { if (it == 1L) null else it }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> FloatArray.isSortedByDescending(selector: (Float) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(floatArrayOf().isSortedByDescending { it * it }) // true
println(floatArrayOf(2.0f).isSortedByDescending { it * it }) // true
val values = floatArrayOf(2.0f, -1.5f, 1.0f, -0.5f)
println(values.isSortedByDescending { it * it }) // true
println(values.isSortedByDescending { abs(it) }) // true
println(values.isSortedByDescending { it }) // false
println(floatArrayOf(2.5f, 1.0f).isSortedByDescending { if (it == 1.0f) null else it }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> DoubleArray.isSortedByDescending(selector: (Double) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(doubleArrayOf().isSortedByDescending { it * it }) // true
println(doubleArrayOf(2.0).isSortedByDescending { it * it }) // true
val values = doubleArrayOf(2.0, -1.5, 1.0, -0.5)
println(values.isSortedByDescending { it * it }) // true
println(values.isSortedByDescending { abs(it) }) // true
println(values.isSortedByDescending { it }) // false
println(doubleArrayOf(2.5, 1.0).isSortedByDescending { if (it == 1.0) null else it }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> BooleanArray.isSortedByDescending(selector: (Boolean) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
fun main() {
//sampleStart
println(booleanArrayOf().isSortedByDescending { it.compareTo(false) }) // true
println(booleanArrayOf(true).isSortedByDescending { it.compareTo(false) }) // true
val values = booleanArrayOf(true, false, false)
println(values.isSortedByDescending { it.compareTo(false) }) // true
println(values.isSortedByDescending { it }) // true
println(values.isSortedByDescending { !it }) // false
println(booleanArrayOf(true, false).isSortedByDescending { if (it == false) null else it }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> CharArray.isSortedByDescending(selector: (Char) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
fun main() {
//sampleStart
println(charArrayOf().isSortedByDescending { it.uppercaseChar() }) // true
println(charArrayOf('C').isSortedByDescending { it.uppercaseChar() }) // true
val values = charArrayOf('C', 'b', 'A')
println(values.isSortedByDescending { it.uppercaseChar() }) // true
println(values.isSortedByDescending { it.lowercaseChar() }) // true
println(values.isSortedByDescending { it }) // false
println(charArrayOf('b', 'a').isSortedByDescending { if (it == 'a') null else it }) // true
//sampleEnd
}
inline fun <T, R : Comparable<R>> Iterable<T>.isSortedByDescending(selector: (T) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента коллекции больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в коллекции меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Коллекция считается отсортированной по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Обратите внимание, что результат зависит от порядка итерации коллекции. Порядок итерации некоторых реализаций Iterable может быть нестабильным (меняться от одного вызова к другому), и в этом случае эта функция может возвращать непоследовательные результаты.
Примеры
fun main() {
//sampleStart
println(listOf<String>().isSortedByDescending { it.length }) // true
println(listOf("aaa").isSortedByDescending { it.length }) // true
val values = listOf("aaa", "bb", "c")
println(values.isSortedByDescending { it.length }) // true
println(values.isSortedByDescending { it }) // false
println(listOf("b", "a").isSortedByDescending { if (it == "a") null else it }) // true
println(listOf("aaa", "bb", null).isSortedByDescending { it?.length }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> UIntArray.isSortedByDescending(selector: (UInt) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
fun main() {
//sampleStart
println(uintArrayOf().isSortedByDescending { it % 3u }) // true
println(uintArrayOf(2u).isSortedByDescending { it % 3u }) // true
val values = uintArrayOf(2u, 4u, 1u, 3u)
println(values.isSortedByDescending { it % 3u }) // true
println(values.isSortedByDescending { it }) // false
println(uintArrayOf(2u, 1u).isSortedByDescending { if (it == 1u) null else it }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> ULongArray.isSortedByDescending(selector: (ULong) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
fun main() {
//sampleStart
println(ulongArrayOf().isSortedByDescending { it % 3uL }) // true
println(ulongArrayOf(2uL).isSortedByDescending { it % 3uL }) // true
val values = ulongArrayOf(2uL, 4uL, 1uL, 3uL)
println(values.isSortedByDescending { it % 3uL }) // true
println(values.isSortedByDescending { it }) // false
println(ulongArrayOf(2uL, 1uL).isSortedByDescending { if (it == 1uL) null else it }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> UByteArray.isSortedByDescending(selector: (UByte) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
fun main() {
//sampleStart
println(ubyteArrayOf().isSortedByDescending { it.toUInt() % 3u }) // true
println(ubyteArrayOf(2u).isSortedByDescending { it.toUInt() % 3u }) // true
val values = ubyteArrayOf(2u, 4u, 1u, 3u)
println(values.isSortedByDescending { it.toUInt() % 3u }) // true
println(values.isSortedByDescending { it }) // false
println(ubyteArrayOf(2u, 1u).isSortedByDescending { if (it.toUInt() == 1u) null else it }) // true
//sampleEnd
}
inline fun <R : Comparable<R>> UShortArray.isSortedByDescending(selector: (UShort) -> R?): Boolean
Возвращает true, если значение селектора для каждого элемента массива больше или равно значению селектора следующего элемента согласно естественному порядку сортировки значений селектора.
Возвращает true, если в массиве меньше двух элементов.
Значения селектора соседних элементов сравниваются последовательно с помощью compareValues. Массив считается отсортированным по убыванию, если для каждой пары соседних элементов значение селектора предыдущего элемента не меньше значения следующего.
Если селектор возвращает null для элемента, значение null считается меньшим любого ненулевого значения.
Примеры
fun main() {
//sampleStart
println(ushortArrayOf().isSortedByDescending { it.toUInt() % 3u }) // true
println(ushortArrayOf(2u).isSortedByDescending { it.toUInt() % 3u }) // true
val values = ushortArrayOf(2u, 4u, 1u, 3u)
println(values.isSortedByDescending { it.toUInt() % 3u }) // true
println(values.isSortedByDescending { it }) // false
println(ushortArrayOf(2u, 1u).isSortedByDescending { if (it.toUInt() == 1u) null else it }) // 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.collections/is-sorted-by-descending.html