Bird
Raised Fist0
Kotlinprogramming~15 mins

For loop over collections in Kotlin - Mini Project: Build & Apply

Choose your learning style10 modes available
For loop over collections
📖 Scenario: You work at a small bookstore. You have a list of book titles that you want to display one by one to your customers.
🎯 Goal: Learn how to use a for loop in Kotlin to go through each item in a list and print it.
📋 What You'll Learn
Create a list of book titles with exact values
Create a variable to count the number of books
Use a for loop with variable book to iterate over the list
Print each book title inside the loop
Print the total number of books after the loop
💡 Why This Matters
🌍 Real World
Bookstores and libraries often need to show lists of books to customers or users. Looping through collections helps display or process each item easily.
💼 Career
Knowing how to loop over collections is a basic skill for any programmer. It helps in tasks like processing data, generating reports, or building user interfaces.
Progress0 / 4 steps
1
Create a list of book titles
Create a list called books with these exact titles: "The Hobbit", "1984", "Pride and Prejudice", "To Kill a Mockingbird".
Kotlin
Hint

Use val books = listOf(...) to create the list with the exact book titles.

2
Create a counter variable
Create a variable called count and set it to 0 to count the number of books.
Kotlin
Hint

Use var count = 0 to create a variable that can change.

3
Use a for loop to print each book
Use a for loop with variable book to go through each item in books. Inside the loop, print the book and increase count by 1.
Kotlin
Hint

Use for (book in books) { ... } to loop. Use println(book) to print each title. Use count++ to add one to count.

4
Print the total number of books
After the loop, print the text Total books: followed by the value of count using a Kotlin println statement with string interpolation.
Kotlin
Hint

Use println("Total books: $count") to show the total count after the loop.

Practice

(1/5)
1. What does a for loop do when used with a collection in Kotlin?
easy
A. It sorts the collection automatically.
B. It creates a new collection from the existing one.
C. It removes items from the collection one by one.
D. It repeats a block of code for each item in the collection.

Solution

  1. Step 1: Understand the purpose of a for loop

    A for loop runs code repeatedly for each element in a collection like a list or array.
  2. Step 2: Identify what happens in the loop

    Each item is accessed one by one, and the code inside the loop runs for each item.
  3. Final Answer:

    It repeats a block of code for each item in the collection. -> Option D
  4. Quick Check:

    For loop = repeat for each item [OK]
Hint: For loops run code once per item in a collection [OK]
Common Mistakes:
  • Thinking for loop creates or removes items
  • Confusing for loop with sorting or filtering
  • Believing for loop runs only once
2. Which of the following is the correct syntax for a for loop over a list named items in Kotlin?
easy
A. for item in items { println(item) }
B. for (item in items) { println(item) }
C. for item : items { println(item) }
D. for (item : items) println(item)

Solution

  1. Step 1: Recall Kotlin for loop syntax

    Kotlin requires parentheses around the loop variable and collection: for (item in items) { ... }
  2. Step 2: Check each option

    for (item in items) { println(item) } matches the correct syntax with parentheses and braces.
  3. Final Answer:

    for (item in items) { println(item) } -> Option B
  4. Quick Check:

    Parentheses + in keyword = correct syntax [OK]
Hint: Use parentheses and 'in' keyword in Kotlin for loops [OK]
Common Mistakes:
  • Omitting parentheses around loop header
  • Using colon ':' instead of 'in'
  • Missing braces for loop body
3. What is the output of this Kotlin code?
val numbers = listOf(1, 2, 3)
for (num in numbers) {
    print(num * 2)
}
medium
A. 246
B. 123
C. 6
D. Error

Solution

  1. Step 1: Understand the loop and list

    The list contains 1, 2, 3. The loop goes through each number.
  2. Step 2: Calculate output for each iteration

    Each number is multiplied by 2 and printed without spaces: 1*2=2, 2*2=4, 3*2=6, so output is "246".
  3. Final Answer:

    246 -> Option A
  4. Quick Check:

    Print doubles of 1,2,3 = 246 [OK]
Hint: Multiply and print each item in order [OK]
Common Mistakes:
  • Assuming print adds spaces or newlines
  • Confusing multiplication with addition
  • Expecting a list output instead of concatenated string
4. Identify the error in this Kotlin code snippet:
val fruits = listOf("apple", "banana", "cherry")
for fruit in fruits {
    println(fruit)
}
medium
A. Missing parentheses around loop header
B. Using wrong collection type
C. Incorrect print statement
D. No error, code is correct

Solution

  1. Step 1: Check for correct for loop syntax

    Kotlin requires parentheses around the loop header: for (fruit in fruits) { ... }
  2. Step 2: Identify the missing parentheses

    The code misses parentheses around 'fruit in fruits', causing a syntax error.
  3. Final Answer:

    Missing parentheses around loop header -> Option A
  4. Quick Check:

    Parentheses required in Kotlin for loops [OK]
Hint: Always put parentheses around for loop header [OK]
Common Mistakes:
  • Omitting parentheses in for loop
  • Using wrong loop variable syntax
  • Assuming print statement causes error
5. Given a list of names, how would you use a Kotlin for loop to print only names longer than 4 characters? Choose the correct code snippet.
hard
A. for (name in names) { println(name.length) > 4 }
B. for (name in names) println(name.length > 4)
C. for (name in names) { if (name.length > 4) println(name) }
D. for (name in names) { if (name > 4) println(name) }

Solution

  1. Step 1: Understand the condition to filter names

    We want to print names only if their length is greater than 4 characters.
  2. Step 2: Check each option for correct syntax and logic

    for (name in names) { if (name.length > 4) println(name) } correctly uses an if statement inside the loop to check length and print the name.
  3. Final Answer:

    for (name in names) { if (name.length > 4) println(name) } -> Option C
  4. Quick Check:

    Use if inside for to filter by length [OK]
Hint: Use if condition inside for loop to filter items [OK]
Common Mistakes:
  • Comparing string directly to number
  • Printing boolean instead of name
  • Incorrect syntax in if or print statements
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