Array Functions

Common Functions

Example

Arrays come with many ready-made functions.

fun main() {
    val sales = intArrayOf(1200, 850, 2300, 990, 1750)
    println("Total:   ${sales.sum()}")
    println("Average: ${sales.average()}")
    println("Max:     ${sales.max()}")
    println("Min:     ${sales.min()}")
    println("Has 990: ${990 in sales}")
    println("Index:   ${sales.indexOf(2300)}")
    println("Sorted:  ${sales.sorted()}")
    println("Desc:    ${sales.sortedDescending()}")
    println("Above 1000: ${sales.count { it > 1000 }}")
}

Output

Total:   7090
Average: 1418.0
Max:     2300
Min:     850
Has 990: true
Index:   2
Sorted:  [850, 990, 1200, 1750, 2300]
Desc:    [2300, 1750, 1200, 990, 850]
Above 1000: 3

Copying and Comparing

Example

== on arrays compares references. Use contentEquals to compare values, and copyOf to make an independent copy.

fun main() {
    val a = intArrayOf(1, 2, 3)
    val b = intArrayOf(1, 2, 3)
    println(a == b)                 // false: different objects
    println(a.contentEquals(b))     // true: same values

    val copy = a.copyOf()
    copy[0] = 99
    println(a.contentToString())
    println(copy.contentToString())

    a.sort()                        // sorts in place
    println(a.toList())             // convert to a List
}

Output

false
true
[1, 2, 3]
[99, 2, 3]
[1, 2, 3]