is Sorted With
Начиная с Kotlin: 2.4
fun <T> Array<out T>.isSortedWith(comparator: Comparator<in T>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
fun main() {
//sampleStart
println(arrayOf<String>().isSortedWith(naturalOrder())) // true
println(arrayOf("apple").isSortedWith(naturalOrder())) // true
val sorted = arrayOf("apple", "banana", "cherry")
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = arrayOf("cherry", "banana", "apple")
println(reversed.isSortedWith(reverseOrder())) // true
val caseInsensitive = arrayOf("Apple", "banana", "Cherry")
println(caseInsensitive.isSortedWith(String.CASE_INSENSITIVE_ORDER)) // true
val withNulls = arrayOf(null, "apple", "banana")
println(withNulls.isSortedWith(nullsFirst(naturalOrder()))) // true
println(withNulls.isSortedWith(nullsLast(naturalOrder()))) // false
//sampleEnd
}
fun ByteArray.isSortedWith(comparator: Comparator<in Byte>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(byteArrayOf().isSortedWith(naturalOrder())) // true
println(byteArrayOf(1).isSortedWith(naturalOrder())) // true
val sorted = byteArrayOf(1, 2, 3, 4, 5)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = byteArrayOf(5, 4, 3, 2, 1)
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun ShortArray.isSortedWith(comparator: Comparator<in Short>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(shortArrayOf().isSortedWith(naturalOrder())) // true
println(shortArrayOf(1).isSortedWith(naturalOrder())) // true
val sorted = shortArrayOf(1, 2, 3, 4, 5)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = shortArrayOf(5, 4, 3, 2, 1)
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun IntArray.isSortedWith(comparator: Comparator<in Int>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(intArrayOf().isSortedWith(naturalOrder())) // true
println(intArrayOf(1).isSortedWith(naturalOrder())) // true
val sorted = intArrayOf(1, 2, 3, 4, 5)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = intArrayOf(5, 4, 3, 2, 1)
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun LongArray.isSortedWith(comparator: Comparator<in Long>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(longArrayOf().isSortedWith(naturalOrder())) // true
println(longArrayOf(1L).isSortedWith(naturalOrder())) // true
val sorted = longArrayOf(1L, 2L, 3L, 4L, 5L)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = longArrayOf(5L, 4L, 3L, 2L, 1L)
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun FloatArray.isSortedWith(comparator: Comparator<in Float>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(floatArrayOf().isSortedWith(naturalOrder())) // true
println(floatArrayOf(1.0f).isSortedWith(naturalOrder())) // true
val sorted = floatArrayOf(1.0f, 2.5f, 3.14f)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = floatArrayOf(3.14f, 2.5f, 1.0f)
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun DoubleArray.isSortedWith(comparator: Comparator<in Double>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
import kotlin.math.abs
fun main() {
//sampleStart
println(doubleArrayOf().isSortedWith(naturalOrder())) // true
println(doubleArrayOf(1.0).isSortedWith(naturalOrder())) // true
val sorted = doubleArrayOf(1.0, 2.5, 3.14)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = doubleArrayOf(3.14, 2.5, 1.0)
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun BooleanArray.isSortedWith(comparator: Comparator<in Boolean>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
fun main() {
//sampleStart
println(booleanArrayOf().isSortedWith(naturalOrder())) // true
println(booleanArrayOf(false).isSortedWith(naturalOrder())) // true
val sorted = booleanArrayOf(false, false, true)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = booleanArrayOf(true, false, false)
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun CharArray.isSortedWith(comparator: Comparator<in Char>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
fun main() {
//sampleStart
println(charArrayOf().isSortedWith(naturalOrder())) // true
println(charArrayOf('a').isSortedWith(naturalOrder())) // true
val sorted = charArrayOf('a', 'b', 'c')
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = charArrayOf('c', 'b', 'a')
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun <T> Iterable<T>.isSortedWith(comparator: Comparator<in T>): Boolean
Возвращает true, если каждый элемент коллекции меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если коллекция содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Коллекция считается отсортированной, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Обратите внимание, что результат зависит от порядка итерации коллекции. Порядок итерации некоторых реализаций Iterable может быть нестабильным (меняться от одного вызова к другому); в этом случае эта функция может возвращать непоследовательные результаты.
Примеры
fun main() {
//sampleStart
println(listOf<String>().isSortedWith(naturalOrder())) // true
println(listOf("apple").isSortedWith(naturalOrder())) // true
val sorted = listOf("apple", "banana", "cherry")
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = listOf("cherry", "banana", "apple")
println(reversed.isSortedWith(reverseOrder())) // true
val caseInsensitive = listOf("Apple", "banana", "Cherry")
println(caseInsensitive.isSortedWith(String.CASE_INSENSITIVE_ORDER)) // true
val withNulls = listOf(null, "apple", "banana")
println(withNulls.isSortedWith(nullsFirst(naturalOrder()))) // true
println(withNulls.isSortedWith(nullsLast(naturalOrder()))) // false
//sampleEnd
}
fun UIntArray.isSortedWith(comparator: Comparator<in UInt>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
fun main() {
//sampleStart
println(uintArrayOf().isSortedWith(naturalOrder())) // true
println(uintArrayOf(1u).isSortedWith(naturalOrder())) // true
val sorted = uintArrayOf(1u, 2u, 3u, 4u, 5u)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = uintArrayOf(5u, 4u, 3u, 2u, 1u)
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun ULongArray.isSortedWith(comparator: Comparator<in ULong>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
fun main() {
//sampleStart
println(ulongArrayOf().isSortedWith(naturalOrder())) // true
println(ulongArrayOf(1uL).isSortedWith(naturalOrder())) // true
val sorted = ulongArrayOf(1uL, 2uL, 3uL, 4uL, 5uL)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = ulongArrayOf(5uL, 4uL, 3uL, 2uL, 1uL)
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun UByteArray.isSortedWith(comparator: Comparator<in UByte>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
fun main() {
//sampleStart
println(ubyteArrayOf().isSortedWith(naturalOrder())) // true
println(ubyteArrayOf(1u).isSortedWith(naturalOrder())) // true
val sorted = ubyteArrayOf(1u, 2u, 3u, 4u, 5u)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = ubyteArrayOf(5u, 4u, 3u, 2u, 1u)
println(reversed.isSortedWith(reverseOrder())) // true
//sampleEnd
}
fun UShortArray.isSortedWith(comparator: Comparator<in UShort>): Boolean
Возвращает true, если каждый элемент массива меньше или равен следующему элементу согласно указанному компаратору.
Возвращает true, если массив содержит менее двух элементов.
Элементы сравниваются последовательно с помощью Comparator.compare. Массив считается отсортированным, если для каждой пары соседних элементов предыдущий элемент не больше следующего.
Примеры
fun main() {
//sampleStart
println(ushortArrayOf().isSortedWith(naturalOrder())) // true
println(ushortArrayOf(1u).isSortedWith(naturalOrder())) // true
val sorted = ushortArrayOf(1u, 2u, 3u, 4u, 5u)
println(sorted.isSortedWith(naturalOrder())) // true
println(sorted.isSortedWith(reverseOrder())) // false
val reversed = ushortArrayOf(5u, 4u, 3u, 2u, 1u)
println(reversed.isSortedWith(reverseOrder())) // 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-with.html