How to iterate over a collection of key-value pairs (associative array) in Kotlin

6 Answers

0 votes
// Iterate over entries (most common)

fun main() {
    val map = mapOf("d" to 4, "a" to 1, "c" to 3, "b" to 2 )

    for (entry in map.entries) {
        println("Key: ${entry.key}, Value: ${entry.value}")
    }
}


/*
run:

Key: d, Value: 4
Key: a, Value: 1
Key: c, Value: 3
Key: b, Value: 2

*/

 



answered Mar 23 by avibootz
0 votes
// With destructuring

fun main() {
    val map = mapOf("d" to 4, "a" to 1, "c" to 3, "b" to 2 )

    for ((key, value) in map) {
        println("$key = $value")
    }
}


/*
run:

d = 4
a = 1
c = 3
b = 2

*/

 



answered Mar 23 by avibootz
0 votes
// Using forEach with destructuring

fun main() {
    val map = mapOf("d" to 4, "a" to 1, "c" to 3, "b" to 2 )

    map.forEach { (key, value) ->
        println("$key = $value")
    }
}


/*
run:

d = 4
a = 1
c = 3
b = 2

*/

 



answered Mar 23 by avibootz
0 votes
// Iterate over keys only

fun main() {
    val map = mapOf("d" to 4, "a" to 1, "c" to 3, "b" to 2 )

    for (key in map.keys) {
        println("Key: $key")
    }
}


/*
run:

Key: d
Key: a
Key: c
Key: b

*/

 



answered Mar 23 by avibootz
0 votes
// Iterate over keys and values via lookup

fun main() {
    val map = mapOf("d" to 4, "a" to 1, "c" to 3, "b" to 2 )

    for (key in map.keys) {
        println("$key = ${map[key]}")
    }
}


/*
run:

d = 4
a = 1
c = 3
b = 2

*/

 



answered Mar 23 by avibootz
0 votes
// Iterate over values only

fun main() {
    val map = mapOf("d" to 4, "a" to 1, "c" to 3, "b" to 2 )

    for (value in map.values) {
        println(value)
    }
}


/*
run:

4
1
3
2

*/

 



answered Mar 23 by avibootz

Related questions

...