DEV Community

loizenai
loizenai

Posted on

Kotlin – filter() map examples

https://grokonez.com/kotlin/kotlin-filter-map-examples

Kotlin – filter() map examples

In the tutorial, JavaSampleApproach will show you how to filter Kotlin map colletion by examples.

I. Kotlin filter map

Initial data for practicing:


val customerMap = mapOf(Pair(Customer("Jack", 25), Address("NANTERRE CT", "77471")),
                        Pair(Customer("Mary", 37), Address("W NORMA ST", "77009")),
                        Pair(Customer("Peter", 17), Address("S NUGENT AVE", "77571")),
                        Pair(Customer("Amos", 23), Address("E NAVAHO TRL", "77449")),
                        Pair(Customer("Craig", 45), Address("AVE N", "77587")),
                        Pair(Customer("Laura", 32), Address("NANTERRE CT", "77471")),
                        Pair(Customer("Steven", 39), Address("S NUGENT AVE", "77571")),
                        Pair(Customer("Paul", 18), Address("E NAVAHO TRL", "77449")),
                        Pair(Customer("Mary", 61), Address("S NUGENT AVE", "77571")))

1. filter()

Method signature:

public inline fun <K, V> Map<out K, V>.filter(predicate: (Map.Entry<K, V>) -> Boolean): Map<K, V>

-> Returns a new map containing all key-value pairs matching the given [predicate].

Practice:

var map = customerMap.filter { (customer, address) -> customer.age > 18 && address.street === "S NUGENT AVE" }
map.forEach{println("${it.key}, ${it.value}")}
/*
    Customer(name=Steven, age=39), Address(street=S NUGENT AVE, postcode=77571)
    Customer(name=Mary, age=61), Address(street=S NUGENT AVE, postcode=77571)
*/

2. filterNot()

Method signature:

More at:

Kotlin – filter() map examples

Top comments (0)