sort

Common
JVM
JS
Native
1.0

Sorts the array in-place.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val intArray = intArrayOf(4, 3, 2, 1)

// before sorting
println(intArray.joinToString()) // 4, 3, 2, 1

intArray.sort()

// after sorting
println(intArray.joinToString()) // 1, 2, 3, 4
//sampleEnd
}
Common
JVM
JS
Native
1.0

Sorts the array in-place according to the natural order of its elements.

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
class Person(val firstName: String, val lastName: String) : Comparable<Person> {
    override fun compareTo(other: Person): Int = this.lastName.compareTo(other.lastName)
    override fun toString(): String = "$firstName $lastName"
}

val people = arrayOf(
    Person("Ragnar", "Lodbrok"),
    Person("Bjorn", "Ironside"),
    Person("Sweyn", "Forkbeard")
)

// before sorting
println(people.joinToString()) // Ragnar Lodbrok, Bjorn Ironside, Sweyn Forkbeard

people.sort()

// after sorting
println(people.joinToString()) // Sweyn Forkbeard, Bjorn Ironside, Ragnar Lodbrok
//sampleEnd
}
Common
JVM
JS
Native
1.4
fun < T : Comparable < T > > Array < out T > . sort (
fromIndex : Int = 0 ,
toIndex : Int = size )

(Common source) (JVM source) (JS source) (Native source)

Sorts a range in the array in-place.

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
class Person(val firstName: String, val lastName: String) : Comparable<Person> {
    override fun compareTo(other: Person): Int = this.lastName.compareTo(other.lastName)
    override fun toString(): String = "$firstName $lastName"
}

val people = arrayOf(
    Person("Ragnar", "Lodbrok"),
    Person("Bjorn", "Ironside"),
    Person("Sweyn", "Forkbeard")
)

// before sorting
println(people.joinToString()) // Ragnar Lodbrok, Bjorn Ironside, Sweyn Forkbeard

people.sort(0, 2)

// after sorting
println(people.joinToString()) // Bjorn Ironside, Ragnar Lodbrok, Sweyn Forkbeard
//sampleEnd
}

Parameters

fromIndex - the start of the range (inclusive) to sort, 0 by default.

toIndex - the end of the range (exclusive) to sort, size of this array by default.

Exceptions

IndexOutOfBoundsException - if fromIndex is less than zero or toIndex is greater than the size of this array.

IllegalArgumentException - if fromIndex is greater than toIndex .

Common
JVM
JS
Native
1.0
fun ByteArray . sort ( fromIndex : Int = 0 , toIndex : Int = size )
(Common source) (JVM source) (JS source) (Native source)
fun ShortArray . sort ( fromIndex : Int = 0 , toIndex : Int = size )
(Common source) (JVM source) (JS source) (Native source)
fun IntArray . sort ( fromIndex : Int = 0 , toIndex : Int = size )
(Common source) (JVM source) (JS source) (Native source)
fun LongArray . sort ( fromIndex : Int = 0 , toIndex : Int = size )
(Common source) (JVM source) (JS source) (Native source)
fun FloatArray . sort ( fromIndex : Int = 0 , toIndex : Int = size )
(Common source) (JVM source) (JS source) (Native source)
fun DoubleArray . sort ( fromIndex : Int = 0 , toIndex : Int = size )
(Common source) (JVM source) (JS source) (Native source)
fun CharArray . sort ( fromIndex : Int = 0 , toIndex : Int = size )
(Common source) (JVM source) (JS source) (Native source)

Sorts a range in the array in-place.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val intArray = intArrayOf(4, 3, 2, 1)

// before sorting
println(intArray.joinToString()) // 4, 3, 2, 1

intArray.sort(0, 3)

// after sorting
println(intArray.joinToString()) // 2, 3, 4, 1
//sampleEnd
}

Parameters

fromIndex - the start of the range (inclusive) to sort, 0 by default.

toIndex - the end of the range (exclusive) to sort, size of this array by default.

Exceptions

IndexOutOfBoundsException - if fromIndex is less than zero or toIndex is greater than the size of this array.

IllegalArgumentException - if fromIndex is greater than toIndex .

Common
JVM
JS
Native
1.3
@ExperimentalUnsignedTypes fun UIntArray . sort ( )
(source)
@ExperimentalUnsignedTypes fun ULongArray . sort ( )
(source)
@ExperimentalUnsignedTypes fun UByteArray . sort ( )
(source)
@ExperimentalUnsignedTypes fun UShortArray . sort ( )
(source)

Sorts the array in-place.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val intArray = intArrayOf(4, 3, 2, 1)

// before sorting
println(intArray.joinToString()) // 4, 3, 2, 1

intArray.sort()

// after sorting
println(intArray.joinToString()) // 1, 2, 3, 4
//sampleEnd
}
Common
JVM
JS
Native
1.4
@ExperimentalUnsignedTypes fun UIntArray . sort (
fromIndex : Int = 0 ,
toIndex : Int = size )

(source)
@ExperimentalUnsignedTypes fun ULongArray . sort (
fromIndex : Int = 0 ,
toIndex : Int = size )

(source)
@ExperimentalUnsignedTypes fun UByteArray . sort (
fromIndex : Int = 0 ,
toIndex : Int = size )

(source)
@ExperimentalUnsignedTypes fun UShortArray . sort (
fromIndex : Int = 0 ,
toIndex : Int = size )

(source)

Sorts a range in the array in-place.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val intArray = intArrayOf(4, 3, 2, 1)

// before sorting
println(intArray.joinToString()) // 4, 3, 2, 1

intArray.sort(0, 3)

// after sorting
println(intArray.joinToString()) // 2, 3, 4, 1
//sampleEnd
}

Parameters

fromIndex - the start of the range (inclusive) to sort, 0 by default.

toIndex - the end of the range (exclusive) to sort, size of this array by default.

Exceptions

IndexOutOfBoundsException - if fromIndex is less than zero or toIndex is greater than the size of this array.

IllegalArgumentException - if fromIndex is greater than toIndex .

Common
JVM
JS
Native
1.0

Sorts elements in the list in-place according to their natural sort order.

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 mutableList = mutableListOf(4, 3, 2, 1)

// before sorting
println(mutableList.joinToString()) // 4, 3, 2, 1

mutableList.sort()

// after sorting
println(mutableList.joinToString()) // 1, 2, 3, 4
//sampleEnd
}
JVM
1.0
fun < T > MutableList < T > . sort ( comparator : Comparator < in T > )
(source)
Deprecated: Use sortWith(comparator) instead.
inline fun < T > MutableList < T > . sort ( comparison : ( T , T ) -> Int )
(source)
Deprecated: Use sortWith(Comparator(comparison)) instead.
JS
1.1
@DeprecatedSinceKotlin ( "1.6" ) fun < T > Array < out T > . sort (
comparison : ( a : T , b : T ) -> Int )

(source)
Deprecated: Use sortWith instead

Sorts the array in-place according to the order specified by the given comparison function.

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

JS
1.1
@DeprecatedSinceKotlin ( "1.6" ) inline fun ByteArray . sort (
noinline comparison : ( a : Byte , b : Byte ) -> Int )

(source)
Deprecated: Use other sorting functions from the Standard Library
@DeprecatedSinceKotlin ( "1.6" ) inline fun ShortArray . sort (
noinline comparison : ( a : Short , b : Short ) -> Int )

(source)
Deprecated: Use other sorting functions from the Standard Library
@DeprecatedSinceKotlin ( "1.6" ) inline fun IntArray . sort (
noinline comparison : ( a : Int , b : Int ) -> Int )

(source)
Deprecated: Use other sorting functions from the Standard Library
@DeprecatedSinceKotlin ( "1.6" ) inline fun LongArray . sort (
noinline comparison : ( a : Long , b : Long ) -> Int )

(source)
Deprecated: Use other sorting functions from the Standard Library
@DeprecatedSinceKotlin ( "1.6" ) inline fun FloatArray . sort (
noinline comparison : ( a : Float , b : Float ) -> Int )

(source)
Deprecated: Use other sorting functions from the Standard Library
@DeprecatedSinceKotlin ( "1.6" ) inline fun DoubleArray . sort (
noinline comparison : ( a : Double , b : Double ) -> Int )

(source)
Deprecated: Use other sorting functions from the Standard Library
@DeprecatedSinceKotlin ( "1.6" ) inline fun CharArray . sort (
noinline comparison : ( a : Char , b : Char ) -> Int )

(source)
Deprecated: Use other sorting functions from the Standard Library

Sorts the array in-place according to the order specified by the given comparison function.