partition (original) (raw)

Splits the original array into a pair of lists, where first list contains elements for which predicate yielded true, while second list contains elements for which predicate yielded false.

Since Kotlin

1.0

Samples

import kotlin.test.*

fun main() { 
   //sampleStart 
   val array = intArrayOf(1, 2, 3, 4, 5)
val (even, odd) = array.partition { it % 2 == 0 }
println(even) // [2, 4]
println(odd) // [1, 3, 5] 
   //sampleEnd
}

Splits the original collection into a pair of lists, where first list contains elements for which predicate yielded true, while second list contains elements for which predicate yielded false.

Since Kotlin

1.0

Samples


fun main() { 
   //sampleStart 
   data class Person(val name: String, val age: Int) {
    override fun toString(): String {
        return "$name - $age"
    }
}

val list = listOf(Person("Tom", 18), Person("Andy", 32), Person("Sarah", 22))
val result = list.partition { it.age < 30 }
println(result) // ([Tom - 18, Sarah - 22], [Andy - 32]) 
   //sampleEnd
}