0
0
KotlinHow-ToBeginner · 3 min read

How to Check if Key Exists in Map Kotlin

In Kotlin, you can check if a key exists in a map using the containsKey(key) function or the in operator. Both return a Boolean indicating whether the key is present in the map.
📐

Syntax

To check if a key exists in a Kotlin map, use either:

  • map.containsKey(key): returns true if the key is in the map.
  • key in map: a concise operator that also returns true if the key exists.
kotlin
val map = mapOf("apple" to 1, "banana" to 2)

// Using containsKey
val hasApple = map.containsKey("apple")

// Using 'in' operator
val hasBanana = "banana" in map
💻

Example

This example shows how to check if keys exist in a map using both containsKey and the in operator, then prints the results.

kotlin
fun main() {
    val fruits = mapOf("apple" to 5, "orange" to 10, "banana" to 7)

    if (fruits.containsKey("apple")) {
        println("Apple is in the map with value ${fruits["apple"]}")
    }

    if ("grape" in fruits) {
        println("Grape is in the map")
    } else {
        println("Grape is not in the map")
    }
}
Output
Apple is in the map with value 5 Grape is not in the map
⚠️

Common Pitfalls

Some common mistakes when checking keys in a Kotlin map include:

  • Using map[key] != null to check key existence, which fails if the value is null.
  • Confusing containsKey with containsValue, which checks values, not keys.

Always use containsKey or in operator for accurate key checks.

kotlin
val map = mapOf("key1" to null)

// Wrong: This returns false even though key1 exists
val existsWrong = map["key1"] != null

// Right: This returns true
val existsRight = map.containsKey("key1")
📊

Quick Reference

MethodDescriptionReturns
containsKey(key)Checks if the key exists in the mapBoolean (true/false)
key in mapOperator to check if key existsBoolean (true/false)
map[key] != nullChecks if value is not null (not reliable for null values)Boolean (may be incorrect)

Key Takeaways

Use map.containsKey(key) or key in map to check if a key exists in a Kotlin map.
Avoid using map[key] != null to check keys because values can be null.
containsKey and 'in' operator both return a Boolean indicating key presence.
containsValue checks values, not keys, so don't confuse them.
Checking keys correctly helps avoid bugs when working with maps.