partition
inline
fun
ShortArray
.
partition
(
predicate
:
(
Short
)
->
Boolean
)
:
Pair
<
List
<
Short
>
,
List
<
Short
>
>
(source)
inline
fun
FloatArray
.
partition
(
predicate
:
(
Float
)
->
Boolean
)
:
Pair
<
List
<
Float
>
,
List
<
Float
>
>
(source)
inline
fun
DoubleArray
.
partition
(
predicate
:
(
Double
)
->
Boolean
)
:
Pair
<
List
<
Double
>
,
List
<
Double
>
>
(source)
inline
fun
BooleanArray
.
partition
(
predicate
:
(
Boolean
)
->
Boolean
)
:
Pair
<
List
<
Boolean
>
,
List
<
Boolean
>
>
(source)
Splits the original array into pair of lists,
where
first
list contains elements for which
predicate
yielded
true
,
while
second
list contains elements for which
predicate
yielded
false
.
import kotlin.test.*
fun main(args: Array<String>) {
//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 pair of lists,
where
first
list contains elements for which
predicate
yielded
true
,
while
second
list contains elements for which
predicate
yielded
false
.
fun main(args: Array<String>) {
//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
}