2. Which of the following is the correct syntax to create a mutable map with keys "a" and "b" and values 1 and 2 respectively?
easy
A. val map = mutableMapOf("a" to 1, "b" to 2)
B. val map = mapOf("a" -> 1, "b" -> 2)
C. val map = mutableMapOf("a" = 1, "b" = 2)
D. val map = mapOf("a" to 1, "b" to 2)
Solution
Step 1: Identify correct syntax for mutableMapOf
The correct syntax uses mutableMapOf with pairs using to keyword.
Step 2: Check each option
val map = mutableMapOf("a" to 1, "b" to 2) uses mutableMapOf and to correctly. val map = mapOf("a" -> 1, "b" -> 2) uses wrong arrow ->. val map = mutableMapOf("a" = 1, "b" = 2) uses = which is invalid here. val map = mapOf("a" to 1, "b" to 2) uses mapOf which creates an immutable map.
Final Answer:
val map = mutableMapOf("a" to 1, "b" to 2) -> Option A
Quick Check:
mutableMapOf + to = correct syntax [OK]
Hint: Use mutableMapOf with "key" to value pairs [OK]
Common Mistakes:
Using -> instead of to for pairs
Using = inside mapOf or mutableMapOf
Confusing mapOf and mutableMapOf
3. What is the output of this Kotlin code?
val map = mapOf("x" to 10, "y" to 20)
println(map["x"])
println(map["z"])
medium
A. 20
null
B. 10
null
C. null
null
D. 10
0
Solution
Step 1: Access existing key "x"
map["x"] returns 10 because "x" is a key with value 10.
Step 2: Access non-existing key "z"
map["z"] returns null because "z" is not in the map.
Hint: map[key] returns value or null if key missing [OK]
Common Mistakes:
Expecting 0 instead of null for missing key
Confusing values of different keys
Assuming map is mutable and can add keys
4. What is wrong with this Kotlin code?
val map = mapOf("a" to 1)
map["b"] = 2
medium
A. mapOf creates an immutable map, so you cannot add new entries
B. The syntax for adding entries is incorrect; should use put()
C. Keys must be integers, not strings
D. mapOf requires mutableMapOf to add entries
Solution
Step 1: Understand mapOf immutability
mapOf creates an immutable map that cannot be changed after creation.
Step 2: Adding entries to immutable map causes error
Trying to assign a new key-value pair with map["b"] = 2 causes a compile-time error because the map is immutable.
Final Answer:
mapOf creates an immutable map, so you cannot add new entries -> Option A
Quick Check:
Immutable map cannot be changed [OK]
Hint: Use mutableMapOf to add or change entries [OK]
Common Mistakes:
Trying to add entries to mapOf
Using wrong syntax for adding entries
Confusing mutableMapOf and mapOf
5. You want to create a map that stores student names as keys and their scores as values. You also want to update scores later. Which Kotlin code snippet correctly achieves this?
hard
A. val scores = mutableMapOf("Alice" to 90, "Bob" to 85)
scores.add("Alice", 95)
B. val scores = mapOf("Alice" to 90, "Bob" to 85)
scores["Alice"] = 95
C. val scores = mapOf("Alice" to 90, "Bob" to 85)
scores.put("Alice", 95)
D. val scores = mutableMapOf("Alice" to 90, "Bob" to 85)
scores["Alice"] = 95
Solution
Step 1: Choose a mutable map to allow updates
Since scores need to be updated, mutableMapOf is required.
Step 2: Use correct method to update value
Assigning with scores["Alice"] = 95 correctly updates the value in a mutable map.
Step 3: Check other options for errors
val scores = mapOf("Alice" to 90, "Bob" to 85)
scores["Alice"] = 95 uses immutable map and tries to update, causing error. val scores = mapOf("Alice" to 90, "Bob" to 85)
scores.put("Alice", 95) tries to use put on immutable map, error. val scores = mutableMapOf("Alice" to 90, "Bob" to 85)
scores.add("Alice", 95) uses non-existent add method.
Final Answer:
val scores = mutableMapOf("Alice" to 90, "Bob" to 85)
scores["Alice"] = 95 -> Option D
Quick Check:
mutableMapOf + assignment updates map [OK]
Hint: Use mutableMapOf and bracket assignment to update entries [OK]
Common Mistakes:
Using mapOf when updates are needed
Trying to use put on immutable map
Using add method which does not exist
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.