Spec-Zone.ru › Kotlin 2

Отсортированпоубыванию

kotlin-stdlib/kotlin.collections/isSortedByDescending

Версия 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
}

@ExperimentalUnsignedTypes
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
}

@ExperimentalUnsignedTypes
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
}

@ExperimentalUnsignedTypes
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
}

@ExperimentalUnsignedTypes
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

Spec-Zone.ru

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