Bird
Raised Fist0
Android Kotlinmobile~20 mins

Collections (List, Map, Set) in Android Kotlin - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Collections Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ ui_behavior
intermediate
2:00remaining
What is the output of this Kotlin code using a List?
Consider this Kotlin code snippet that creates and prints a list. What will be printed?
Android Kotlin
val fruits = listOf("Apple", "Banana", "Cherry")
println(fruits[1])
ACherry
BApple
CBanana
DIndexOutOfBoundsException
Attempts:
2 left
💡 Hint
Remember that list indices start at zero.
📝 Syntax
intermediate
2:00remaining
What error does this Kotlin Map code produce?
Examine this Kotlin code that tries to create a map. What error will it cause?
Android Kotlin
val map = mapOf("one" to 1, "two" 2, "three" to 3)
ANo error, map created successfully
BTypeError: Cannot assign Int to String
CRuntimeException: Duplicate keys
DSyntaxError: Missing 'to' keyword
Attempts:
2 left
💡 Hint
Check the syntax for key-value pairs in mapOf.
❓ lifecycle
advanced
2:00remaining
What happens when you add duplicate elements to a Kotlin Set?
Given this Kotlin code, what will be the size of the set after adding duplicates?
Android Kotlin
val numbers = mutableSetOf(1, 2, 3)
numbers.add(2)
numbers.add(4)
println(numbers.size)
A5
B4
C3
DRuntimeException
Attempts:
2 left
💡 Hint
Sets do not allow duplicate elements.
🔧 Debug
advanced
2:00remaining
Why does this Kotlin code throw an exception?
This Kotlin code tries to access a map value. Why does it throw an exception?
Android Kotlin
val map = mapOf("a" to 1, "b" to 2)
val value = map["c"]!!
println(value)
ANullPointerException because key "c" is missing and !! forces non-null
BNo exception, prints 0
CKeyNotFoundException because "c" is not in map
DCompilation error due to !! operator
Attempts:
2 left
💡 Hint
What does the !! operator do when the value is null?
🧠 Conceptual
expert
3:00remaining
How many items are in this Kotlin collection after these operations?
What is the size of the collection after this Kotlin code runs?
Android Kotlin
val list = listOf(1, 2, 3, 4)
val set = list.toMutableSet()
set.remove(2)
set.add(5)
val map = set.associateWith { it * 2 }
println(map.size)
A4
B5
C3
D6
Attempts:
2 left
💡 Hint
Track each step: list to set, remove, add, then map size.

Practice

(1/5)
1. Which Kotlin collection type should you use to store a list of names where order matters and duplicates are allowed?
easy
A. List
B. Map
C. Set
D. Array

Solution

  1. Step 1: Understand collection types

    List keeps items in order and allows duplicates, Map stores key-value pairs, Set stores unique items without duplicates.
  2. Step 2: Match requirement to collection

    Since order matters and duplicates are allowed, List fits best.
  3. Final Answer:

    List -> Option A
  4. Quick Check:

    Order + duplicates = List [OK]
Hint: Remember: List = ordered + duplicates allowed [OK]
Common Mistakes:
  • Choosing Set which disallows duplicates
  • Choosing Map which stores key-value pairs
  • Confusing Array with List in Kotlin
2. Which of the following is the correct syntax to create a mutable map in Kotlin?
easy
A. val map = mutableListOf()
B. val map = mapOf()
C. val map = mutableMapOf()
D. val map = setOf()

Solution

  1. Step 1: Identify mutable map syntax

    mutableMapOf creates a mutable map; mapOf creates an immutable map.
  2. Step 2: Check other options

    mutableListOf creates a list, setOf creates a set; both are incorrect for map.
  3. Final Answer:

    val map = mutableMapOf() -> Option C
  4. Quick Check:

    Mutable map uses mutableMapOf [OK]
Hint: Mutable map uses mutableMapOf() function [OK]
Common Mistakes:
  • Using mapOf which is immutable
  • Using mutableListOf instead of mutableMapOf
  • Using setOf which creates a set, not a map
3. What will be the output of this Kotlin code?
val set = setOf(1, 2, 2, 3)
println(set.size)
medium
A. 3
B. 2
C. 4
D. Error

Solution

  1. Step 1: Understand set behavior

    Set stores unique elements only, so duplicates are removed.
  2. Step 2: Count unique elements

    Elements are 1, 2, 3 so size is 3.
  3. Final Answer:

    3 -> Option A
  4. Quick Check:

    Set removes duplicates, size = 3 [OK]
Hint: Set size counts unique elements only [OK]
Common Mistakes:
  • Counting duplicates in set size
  • Assuming set keeps duplicates
  • Expecting runtime error for duplicates
4. Identify the error in this Kotlin code snippet:
val map = mapOf("a" to 1, "b" to 2)
map["c"] = 3
medium
A. map["c"] = 3 is correct syntax
B. Syntax error in map declaration
C. Key "c" already exists
D. mapOf creates an immutable map, cannot add elements

Solution

  1. Step 1: Check mapOf mutability

    mapOf creates an immutable map, so you cannot add or change elements.
  2. Step 2: Analyze assignment

    map["c"] = 3 tries to add a new key-value pair, which is not allowed on immutable map.
  3. Final Answer:

    mapOf creates an immutable map, cannot add elements -> Option D
  4. Quick Check:

    mapOf = immutable map, no additions allowed [OK]
Hint: mapOf is immutable; use mutableMapOf to add items [OK]
Common Mistakes:
  • Assuming mapOf is mutable
  • Thinking syntax is wrong
  • Ignoring immutability of mapOf
5. Given a list of words, how can you create a map that counts how many times each word appears? Choose the correct Kotlin code snippet.
hard
A. val counts = words.filter { it.length > 1 }
B. val counts = words.groupingBy { it }.eachCount()
C. val counts = words.distinct()
D. val counts = words.toSet().map { it.length }

Solution

  1. Step 1: Understand the goal

    We want a map with words as keys and their counts as values.
  2. Step 2: Analyze options

    val counts = words.groupingBy { it }.eachCount() uses groupingBy and eachCount to count occurrences correctly. Others do not count frequencies.
  3. Final Answer:

    val counts = words.groupingBy { it }.eachCount() -> Option B
  4. Quick Check:

    groupingBy + eachCount counts items [OK]
Hint: Use groupingBy and eachCount to count list items [OK]
Common Mistakes:
  • Using toSet which removes duplicates but doesn't count
  • Using map to get lengths instead of counts
  • Filtering instead of counting
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard