Multiple ways to iterate Map in Kotlin with example
Map is a data structure that contains key-value pairs.
This tutorial explains multiple ways to iterate through a Map in Kotlin with examples.
Multiple ways to iterate Key and value pair in Kotlin
There are multiple ways to iterate through key-value pairs in Kotlin.
- use for in loop
In this approach, the for-in
loop is used to iterate through each object in the map, where each object represents a key-value pair. The key and value pairs are printed using the $variable
syntax.
fun main() {
val map = HashMap<String, String>();
map["1"] = "one"
map["2"] = "two"
map["3"] = "three"
map["4"] = "four"
map["5"] = "five"
for ((key, value) in map) {
println("$key - $value")
}
}
Output:
1 - one
2 - two
3 - three
4 - four
5 - five
- use forEach loop
The map contains a forEach
function that iterates through the map with a callback
. The callback contains the key and value, which are then printed.
Here is an example
fun main() {
val map = HashMap<String, String>()
map["1"] = "one"
map["2"] = "two"
map["3"] = "three"
map["4"] = "four"
map["5"] = "five"
map.forEach { (key, value) ->
println("$key = $value")
}
}
- use Iterator function
The Map.keys
function returns an array of keys, which is then used with an iterator. The iterator checks if there are elements to iterate using iterator.hasNext()
, and iterator.next()
returns the next element in the array. The value for a key is retrieved using the Map[key]
function.
Here is an example
fun main() {
val map = HashMap<String, String>()
map["1"] = "one"
map["2"] = "two"
map["3"] = "three"
map["4"] = "four"
map["5"] = "five"
val iterator = map.keys.iterator()
while (iterator.hasNext()) {
val key = iterator.next()
val value = map[key]
println("$key - $value")
}
}
Output:
1 - one
2 - two
3 - three
4 - four
5 - five
Conclusion
These are different approaches you can use to iterate through key-value pairs in a Kotlin Map, providing flexibility based on your need.