Bird
Raised Fist0
Android Kotlinmobile~10 mins

Collections (List, Map, Set) in Android Kotlin - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a mutable list of strings named fruits.

Android Kotlin
val fruits = mutableListOf[1]
Drag options to blanks, or click blank then click option'
A{"Apple", "Banana"}
B<String>()
C["Apple", "Banana"]
D("Apple", "Banana")
Attempts:
3 left
💡 Hint
Common Mistakes
Using square brackets [] which is not valid syntax for list creation in Kotlin.
Using parentheses () without specifying the type.
2fill in blank
medium

Complete the code to add the string "Orange" to the fruits list.

Android Kotlin
fruits.[1]("Orange")
Drag options to blanks, or click blank then click option'
Apush
Binsert
Cappend
Dadd
Attempts:
3 left
💡 Hint
Common Mistakes
Using append() which is not a Kotlin list method.
Using push() which is used in other languages like JavaScript.
3fill in blank
hard

Fix the error in the code to create a map with keys as strings and values as integers.

Android Kotlin
val scores = mapOf<String, Int>[1]("Alice" to 10, "Bob" to 8)
Drag options to blanks, or click blank then click option'
A(
B[
C{
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using square brackets [] which causes syntax errors.
Using curly braces {} which are for lambda expressions.
4fill in blank
hard

Fill both blanks to create a set of integers and add the number 5 to it.

Android Kotlin
val numbers = mutableSetOf[1](1, 2, 3)
numbers.[2](5)
Drag options to blanks, or click blank then click option'
A<Int>
Badd
Cappend
D()
Attempts:
3 left
💡 Hint
Common Mistakes
Using append() which is not a Kotlin method for sets.
Omitting the type specification which can cause type inference issues.
5fill in blank
hard

Fill all three blanks to create a map from strings to integers, add a new pair, and retrieve a value.

Android Kotlin
val ages = mutableMapOf[1]("John" to 25, "Jane" to 30)
ages.[2]("Mike", 20)
val age = ages[[3]]
Drag options to blanks, or click blank then click option'
A<String, Int>
Bput
C"Mike"
Dadd
Attempts:
3 left
💡 Hint
Common Mistakes
Using add() instead of put() to add to a map.
Using a variable instead of the string key when retrieving the value.

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