Bird
Raised Fist0
Kotlinprogramming~20 mins

List creation (listOf, mutableListOf) in Kotlin - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Kotlin List Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Kotlin code?
Consider the following Kotlin code snippet. What will be printed?
Kotlin
val list = listOf(1, 2, 3)
println(list.size)
println(list[1])
A3\n2
B2\n1
C3\n1
D2\n3
Attempts:
2 left
💡 Hint
Remember that listOf creates an immutable list and indexing starts at 0.
❓ Predict Output
intermediate
2:00remaining
What happens when you try to add an element to a listOf list?
What will happen when running this Kotlin code?
Kotlin
val list = listOf(10, 20, 30)
list.add(40)
ARuntime exception: UnsupportedOperationException
BCompilation error: val cannot be reassigned
CThe element 40 is added successfully
DCompilation error: Unresolved reference 'add'
Attempts:
2 left
💡 Hint
listOf creates an immutable list without add method.
❓ Predict Output
advanced
2:00remaining
What is the output of this Kotlin code using mutableListOf?
Analyze the following Kotlin code and select the output:
Kotlin
val mutableList = mutableListOf("a", "b")
mutableList.add("c")
println(mutableList.size)
println(mutableList[2])
A3\nb
B2\nc
C3\nc
DRuntimeException: IndexOutOfBoundsException
Attempts:
2 left
💡 Hint
mutableListOf creates a list you can change by adding elements.
🧠 Conceptual
advanced
2:00remaining
Which statement about listOf and mutableListOf is true?
Choose the correct statement about Kotlin's listOf and mutableListOf functions.
AlistOf creates a mutable list; mutableListOf creates an immutable list
BlistOf creates an immutable list; mutableListOf creates a mutable list
CBoth listOf and mutableListOf create immutable lists
DBoth listOf and mutableListOf create mutable lists
Attempts:
2 left
💡 Hint
Think about whether you can add or remove elements after creation.
❓ Predict Output
expert
3:00remaining
What is the output of this Kotlin code involving list creation and modification?
Examine this Kotlin code and select the output:
Kotlin
val list1 = listOf(1, 2, 3)
val list2 = list1.toMutableList()
list2.add(4)
println(list1.size)
println(list2.size)
A3\n4
B4\n4
C3\n3
DRuntimeException: UnsupportedOperationException
Attempts:
2 left
💡 Hint
toMutableList creates a new mutable copy of the original list.

Practice

(1/5)
1. Which Kotlin function creates a list that cannot be changed after it is created?
easy
A. listOf
B. mutableListOf
C. arrayListOf
D. setOf

Solution

  1. Step 1: Understand listOf behavior

    listOf creates a fixed list that cannot be changed after creation.
  2. Step 2: Compare with mutableListOf

    mutableListOf creates a list that can be changed (add/remove items).
  3. Final Answer:

    listOf -> Option A
  4. Quick Check:

    Fixed list = listOf [OK]
Hint: Use listOf for fixed lists, mutableListOf for changeable lists [OK]
Common Mistakes:
  • Confusing mutableListOf as fixed list
  • Thinking arrayListOf is immutable
  • Using setOf which creates a set, not a list
2. Which of the following is the correct syntax to create a mutable list of integers with values 1, 2, and 3?
easy
A. val list = listOf(1, 2, 3)
B. val list = mutableListOf(1, 2, 3)
C. val list = mutableList(1, 2, 3)
D. val list = list(1, 2, 3)

Solution

  1. Step 1: Identify correct function name

    The correct function to create a mutable list is mutableListOf.
  2. Step 2: Check syntax correctness

    Options C and D use invalid function names. val list = listOf(1, 2, 3) creates an immutable list.
  3. Final Answer:

    val list = mutableListOf(1, 2, 3) -> Option B
  4. Quick Check:

    Mutable list syntax = mutableListOf(...) [OK]
Hint: Remember mutableListOf has 'Of' at the end [OK]
Common Mistakes:
  • Using listOf instead of mutableListOf for mutable lists
  • Misspelling mutableListOf as mutableList
  • Using list() which does not exist
3. What will be the output of this Kotlin code?
val list = listOf("apple", "banana", "cherry")
println(list[1])
medium
A. banana
B. IndexOutOfBoundsException
C. cherry
D. apple

Solution

  1. Step 1: Understand list indexing

    Kotlin lists use zero-based indexing, so index 1 refers to the second item.
  2. Step 2: Identify the item at index 1

    The list is ["apple", "banana", "cherry"], so index 1 is "banana".
  3. Final Answer:

    banana -> Option A
  4. Quick Check:

    Index 1 = second item = banana [OK]
Hint: Remember list indexes start at 0 in Kotlin [OK]
Common Mistakes:
  • Thinking index 1 is the first item
  • Expecting an error for valid index
  • Confusing listOf with mutableListOf output
4. What is wrong with this Kotlin code?
val list = listOf(1, 2, 3)
list.add(4)
medium
A. add() method requires a mutableListOf list
B. Syntax error in listOf declaration
C. listOf creates an immutable list; add() is not allowed
D. No error; code runs fine

Solution

  1. Step 1: Check list type

    listOf creates an immutable (read-only) list.
  2. Step 2: Understand add() method

    The add() method is only available on mutable lists, not on immutable lists.
  3. Final Answer:

    listOf creates an immutable list; add() is not allowed -> Option C
  4. Quick Check:

    Immutable list cannot add items [OK]
Hint: Use mutableListOf to add or remove items [OK]
Common Mistakes:
  • Trying to add to listOf list
  • Ignoring immutability of listOf
  • Assuming add() works on all lists
5. You want to create a list of strings that you can add items to later. Which Kotlin code correctly creates this list and adds "orange" to it?
hard
A. val fruits = mutableListOf("apple", "banana") fruits = fruits + "orange"
B. val fruits = listOf("apple", "banana") fruits.add("orange")
C. val fruits = listOf("apple", "banana") fruits += "orange"
D. val fruits = mutableListOf("apple", "banana") fruits.add("orange")

Solution

  1. Step 1: Choose a mutable list

    To add items later, the list must be mutable, so use mutableListOf.
  2. Step 2: Use add() method correctly

    Calling add("orange") on a mutable list adds the item successfully.
  3. Step 3: Check other options

    val fruits = listOf("apple", "banana") fruits.add("orange") tries to add to immutable list (error). val fruits = listOf("apple", "banana") fruits += "orange" uses += on immutable list (creates new list but does not modify original). val fruits = mutableListOf("apple", "banana") fruits = fruits + "orange" tries to reassign val which is not allowed.
  4. Final Answer:

    val fruits = mutableListOf("apple", "banana") fruits.add("orange") -> Option D
  5. Quick Check:

    Mutable list + add() = correct way [OK]
Hint: Use mutableListOf and add() to change list after creation [OK]
Common Mistakes:
  • Adding to immutable list
  • Trying to reassign val variable
  • Using += on immutable list expecting mutation
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