filterTo
inline
fun
<
T
,
C
:
MutableCollection
<
in
T
>
>
Array
<
out
T
>
.
filterTo
(
destination
:
C
,
predicate
:
(
T
)
->
Boolean
)
:
C
(source)
inline
fun
<
C
:
MutableCollection
<
in
Byte
>
>
ByteArray
.
filterTo
(
destination
:
C
,
predicate
:
(
Byte
)
->
Boolean
)
:
C
(source)
inline
fun
<
C
:
MutableCollection
<
in
Short
>
>
ShortArray
.
filterTo
(
destination
:
C
,
predicate
:
(
Short
)
->
Boolean
)
:
C
(source)
inline
fun
<
C
:
MutableCollection
<
in
Int
>
>
IntArray
.
filterTo
(
destination
:
C
,
predicate
:
(
Int
)
->
Boolean
)
:
C
(source)
inline
fun
<
C
:
MutableCollection
<
in
Long
>
>
LongArray
.
filterTo
(
destination
:
C
,
predicate
:
(
Long
)
->
Boolean
)
:
C
(source)
inline
fun
<
C
:
MutableCollection
<
in
Float
>
>
FloatArray
.
filterTo
(
destination
:
C
,
predicate
:
(
Float
)
->
Boolean
)
:
C
(source)
inline
fun
<
C
:
MutableCollection
<
in
Double
>
>
DoubleArray
.
filterTo
(
destination
:
C
,
predicate
:
(
Double
)
->
Boolean
)
:
C
(source)
inline
fun
<
C
:
MutableCollection
<
in
Boolean
>
>
BooleanArray
.
filterTo
(
destination
:
C
,
predicate
:
(
Boolean
)
->
Boolean
)
:
C
(source)
inline
fun
<
C
:
MutableCollection
<
in
Char
>
>
CharArray
.
filterTo
(
destination
:
C
,
predicate
:
(
Char
)
->
Boolean
)
:
C
(source)
inline
fun
<
T
,
C
:
MutableCollection
<
in
T
>
>
Iterable
<
T
>
.
filterTo
(
destination
:
C
,
predicate
:
(
T
)
->
Boolean
)
:
C
(source)
@ExperimentalUnsignedTypes
inline
fun
<
C
:
MutableCollection
<
in
UInt
>
>
UIntArray
.
filterTo
(
destination
:
C
,
predicate
:
(
UInt
)
->
Boolean
)
:
C
(source)
@ExperimentalUnsignedTypes
inline
fun
<
C
:
MutableCollection
<
in
ULong
>
>
ULongArray
.
filterTo
(
destination
:
C
,
predicate
:
(
ULong
)
->
Boolean
)
:
C
(source)
@ExperimentalUnsignedTypes
inline
fun
<
C
:
MutableCollection
<
in
UByte
>
>
UByteArray
.
filterTo
(
destination
:
C
,
predicate
:
(
UByte
)
->
Boolean
)
:
C
(source)
@ExperimentalUnsignedTypes
inline
fun
<
C
:
MutableCollection
<
in
UShort
>
>
UShortArray
.
filterTo
(
destination
:
C
,
predicate
:
(
UShort
)
->
Boolean
)
:
C
(source)
Appends all elements matching the given predicate to the given destination .
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
val numbers: List<Int> = listOf(1, 2, 3, 4, 5, 6, 7)
val evenNumbers = mutableListOf<Int>()
val notMultiplesOf3 = mutableListOf<Int>()
println(evenNumbers) // []
numbers.filterTo(evenNumbers) { it % 2 == 0 }
numbers.filterNotTo(notMultiplesOf3) { number -> number % 3 == 0 }
println(evenNumbers) // [2, 4, 6]
println(notMultiplesOf3) // [1, 2, 4, 5, 7]
//sampleEnd
}
inline
fun
<
K
,
V
,
M
:
MutableMap
<
in
K
,
in
V
>
>
Map
<
out
K
,
V
>
.
filterTo
(
destination
:
M
,
predicate
:
(
Entry
<
K
,
V
>
)
->
Boolean
)
:
M
(source)
Appends all entries matching the given predicate into the mutable map given as destination parameter.
import kotlin.test.*
import java.util.*
fun main(args: Array<String>) {
//sampleStart
val originalMap = mapOf("key1" to 1, "key2" to 2, "key3" to 3)
val destinationMap = mutableMapOf("key40" to 40, "key50" to 50)
val filteredMap = originalMap.filterTo(destinationMap) { it.value < 3 }
//destination map is updated with filtered items from the original map
println("destinationMap === filteredMap is ${destinationMap === filteredMap}") // true
println(destinationMap) // {key40=40, key50=50, key1=1, key2=2}
// original map has not changed
println(originalMap) // {key1=1, key2=2, key3=3}
val nonMatchingPredicate: ((Map.Entry<String, Int>)) -> Boolean = { it.value == 0 }
val anotherDestinationMap = mutableMapOf("key40" to 40, "key50" to 50)
val filteredMapWithNothingMatched = originalMap.filterTo(anotherDestinationMap, nonMatchingPredicate)
println(filteredMapWithNothingMatched) // {key40=40, key50=50}
//sampleEnd
}
Return the destination map.