sortedBy

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)
inline fun <T, R : Comparable<R>> Array<out T>.sortedBy(
    crossinline selector: (T) -> R?
): List<T>
inline fun <T, R : Comparable<R>> Iterable<T>.sortedBy(
    crossinline selector: (T) -> R?
): List<T>

Returns a list of all elements sorted according to natural sort order of the value returned by specified selector function.

The sort is stable. It means that equal elements preserve their order relative to each other after sorting.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val list = listOf("aaa", "cc", "bbbb")
val sorted = list.sortedBy { it.length }

println(list) // [aaa, cc, bbbb]
println(sorted) // [cc, aaa, bbbb]
//sampleEnd
}
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)
inline fun <R : Comparable<R>> ByteArray.sortedBy(
    crossinline selector: (Byte) -> R?
): List<Byte>
inline fun <R : Comparable<R>> ShortArray.sortedBy(
    crossinline selector: (Short) -> R?
): List<Short>
inline fun <R : Comparable<R>> IntArray.sortedBy(
    crossinline selector: (Int) -> R?
): List<Int>
inline fun <R : Comparable<R>> LongArray.sortedBy(
    crossinline selector: (Long) -> R?
): List<Long>
inline fun <R : Comparable<R>> FloatArray.sortedBy(
    crossinline selector: (Float) -> R?
): List<Float>
inline fun <R : Comparable<R>> DoubleArray.sortedBy(
    crossinline selector: (Double) -> R?
): List<Double>
inline fun <R : Comparable<R>> BooleanArray.sortedBy(
    crossinline selector: (Boolean) -> R?
): List<Boolean>
inline fun <R : Comparable<R>> CharArray.sortedBy(
    crossinline selector: (Char) -> R?
): List<Char>

Returns a list of all elements sorted according to natural sort order of the value returned by specified selector function.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val list = listOf("aaa", "cc", "bbbb")
val sorted = list.sortedBy { it.length }

println(list) // [aaa, cc, bbbb]
println(sorted) // [cc, aaa, bbbb]
//sampleEnd
}

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sorted-by.html