How to Set a Default Value for a Key in a Map in Kotlin


How to Set a Default Value for a Key in a Map in Kotlin ?

Answer

To set a default value for a key in a map in Kotlin, you can use the getOrPut method, which inserts the key with a default value if the key does not already exist.



✐ Examples

1 Setting a Default Value Using getOrPut Method

We can set a default value for a key in a map in Kotlin using the getOrPut method, which inserts a key-value pair if the key does not already exist in the map.

For example,

  1. We start by declaring and initializing a mutable map named myMap with some key-value pairs. In this example, the map has string keys and integer values.
  2. We use the getOrPut method to set a default value for a key. The getOrPut method takes the key and a lambda that returns the default value to be inserted if the key is not already present in the map.
  3. We print the updated map to the console using a for loop and println.

Kotlin Program

fun main() {
    // Declare and initialize a mutable map
    val myMap = mutableMapOf(
        "one" to 1,
        "two" to 2,
        "three" to 3
    )

    // Set a default value using getOrPut method
    myMap.getOrPut("four") { 4 }

    // Print the updated map
    for ((key, value) in myMap) {
        println("$key: $value")
    }
}

Output

one: 1
two: 2
three: 3
four: 4

2 Setting Multiple Default Values Using getOrPut Method

We can set multiple default values for keys in a map in Kotlin using the getOrPut method, which inserts key-value pairs if the keys do not already exist in the map.

For example,

  1. We start by declaring and initializing a mutable map named myMap with some key-value pairs. In this example, the map has string keys and integer values.
  2. We use the getOrPut method to set multiple default values for keys. The getOrPut method takes the key and a lambda that returns the default value to be inserted if the key is not already present in the map.
  3. We print the updated map to the console using a for loop and println.

Kotlin Program

fun main() {
    // Declare and initialize a mutable map
    val myMap = mutableMapOf(
        "one" to 1,
        "two" to 2,
        "three" to 3
    )

    // Set multiple default values using getOrPut method
    myMap.getOrPut("four") { 4 }
    myMap.getOrPut("five") { 5 }

    // Print the updated map
    for ((key, value) in myMap) {
        println("$key: $value")
    }
}

Output

one: 1
two: 2
three: 3
four: 4
five: 5

3 Setting a Default Value Conditionally Using getOrPut Method

We can set a default value for a key in a map in Kotlin using the getOrPut method, which inserts a key-value pair if the key does not already exist in the map, based on a condition.

For example,

  1. We start by declaring and initializing a mutable map named myMap with some key-value pairs. In this example, the map has string keys and integer values.
  2. We use the getOrPut method to set a default value for a key based on a condition. The getOrPut method takes the key and a lambda that returns the default value to be inserted if the key is not already present in the map.
  3. We print the updated map to the console using a for loop and println.

Kotlin Program

fun main() {
    // Declare and initialize a mutable map
    val myMap = mutableMapOf(
        "one" to 1,
        "two" to 2,
        "three" to 3
    )

    // Set a default value conditionally using getOrPut method
    myMap.getOrPut("four") { myMap["four"] ?: 4 }

    // Print the updated map
    for ((key, value) in myMap) {
        println("$key: $value")
    }
}

Output

one: 1
two: 2
three: 3
four: 4

Summary

In this tutorial, we learned How to Set a Default Value for a Key in a Map in Kotlin language with well detailed examples.




More Kotlin Maps Tutorials

  1. How to create an Empty Map in Kotlin ?
  2. How to create a Map with Initial Key-Value Pairs in Kotlin ?
  3. How to Print a Map in Kotlin ?
  4. How to Add a Key-Value Pair to a Map in Kotlin ?
  5. How to Set a Default Value for a Key in a Map in Kotlin ?
  6. How to Update the Value for a Key in a Map in Kotlin ?
  7. How to Check if a Map is Empty in Kotlin ?
  8. How to Check if a Key Exists in a Map in Kotlin ?
  9. How to Check if a Value Exists in a Map in Kotlin ?
  10. How to Get the Value Associated with a Key in a Map in Kotlin ?
  11. How to Remove a Key-Value Pair from a Map in Kotlin ?
  12. How to Remove Key-Value Pairs from a Map Based on Values in Kotlin ?
  13. How to Clear All Key-Value Pairs from a Map in Kotlin ?
  14. How to Iterate Over Keys in a Map in Kotlin ?
  15. How to Iterate Over Values in a Map in Kotlin ?
  16. How to Iterate Over Entries (Key-Value Pairs) in a Map in Kotlin ?
  17. How to Get the Size (Number of Key-Value Pairs) of a Map in Kotlin ?
  18. How to Convert a Map to an Array of Keys in Kotlin ?
  19. How to Convert a Map to an Array of Values in Kotlin ?
  20. How to Convert a Map to an Array of Key-Value Pairs in Kotlin ?
  21. How to Merge Two Maps in Kotlin ?
  22. How to Copy a Map in Kotlin ?
  23. How to Check if Two Maps are Equal in Kotlin ?
  24. How to Sort a Map by Keys in Kotlin ?
  25. How to Sort a Map by Values in Kotlin ?
  26. How to Filter a Map Based on Keys in Kotlin ?
  27. How to Filter a Map Based on Values in Kotlin ?
  28. How to Reduce Values in a Map to a Single Value in Kotlin ?
  29. How to Convert an Array of Key-Value Pairs to a Map in Kotlin ?
  30. How to Convert a Map to a JSON String in Kotlin ?
  31. How to Convert a JSON String to a Map in Kotlin ?
  32. How to Swap Keys and Values in a Map in Kotlin ?
  33. How to Create a Map of Maps in Kotlin ?
  34. How to Iterate Over a Map of Maps in Kotlin ?