partition

inline fun <T> Array<out T>.partition(
    predicate: (T) -> Boolean
): Pair<List<T>, List<T>>
(source)
inline fun ByteArray.partition(
    predicate: (Byte) -> Boolean
): Pair<List<Byte>, List<Byte>>
(source)
inline fun ShortArray.partition(
    predicate: (Short) -> Boolean
): Pair<List<Short>, List<Short>>
(source)
inline fun IntArray.partition(
    predicate: (Int) -> Boolean
): Pair<List<Int>, List<Int>>
(source)
inline fun LongArray.partition(
    predicate: (Long) -> Boolean
): Pair<List<Long>, List<Long>>
(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)
inline fun CharArray.partition(
    predicate: (Char) -> Boolean
): Pair<List<Char>, List<Char>>
(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.

inline fun <T> Iterable<T>.partition(
    predicate: (T) -> Boolean
): Pair<List<T>, List<T>>
(source)

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.