Bird
Raised Fist0
Kotlinprogramming~15 mins

It keyword for single parameter in Kotlin - Mini Project: Build & Apply

Choose your learning style10 modes available
Using the It Keyword for Single Parameter in Kotlin
📖 Scenario: You are working on a simple Kotlin program that processes a list of names. You want to transform each name to uppercase using a concise way to handle single parameters in lambda expressions.
🎯 Goal: Learn how to use the it keyword in Kotlin lambda expressions when there is only one parameter.
📋 What You'll Learn
Create a list of names with exact values
Create a lambda expression using the it keyword to convert names to uppercase
Store the transformed names in a new list
Print the new list
💡 Why This Matters
🌍 Real World
Using the <code>it</code> keyword helps write shorter and clearer code when working with collections, such as lists of names, products, or messages.
💼 Career
Many Kotlin jobs require working with collections and lambdas. Knowing how to use <code>it</code> makes your code concise and easier to read, which is valued in professional Kotlin development.
Progress0 / 4 steps
1
Create a list of names
Create a list called names with these exact values: "alice", "bob", "charlie"
Kotlin
Hint

Use listOf to create a list with the given strings.

2
Create a lambda expression using the it keyword
Create a new list called upperNames by calling names.map and use a lambda expression with the it keyword to convert each name to uppercase using it.uppercase()
Kotlin
Hint

Use map with a lambda that uses it to refer to each element.

3
Print the transformed list
Print the upperNames list using println(upperNames)
Kotlin
Hint

Use println to display the list.

4
Use the it keyword in a filter lambda
Create a new list called filteredNames by calling names.filter and use a lambda with the it keyword to keep only names that start with the letter 'a' using it.startsWith('a'). Then print filteredNames using println(filteredNames)
Kotlin
Hint

Use filter with a lambda using it to check the first letter.

Practice

(1/5)
1. What does the it keyword represent in a Kotlin lambda with a single parameter?
easy
A. The single implicit parameter of the lambda
B. A reserved word for loop counters
C. A keyword to declare variables
D. A function to print output

Solution

  1. Step 1: Understand lambda parameters

    In Kotlin, if a lambda has only one parameter, you don't need to name it explicitly.
  2. Step 2: Role of it

    The keyword it automatically refers to that single parameter inside the lambda.
  3. Final Answer:

    The single implicit parameter of the lambda -> Option A
  4. Quick Check:

    it = single lambda parameter [OK]
Hint: Remember: it means the one lambda input [OK]
Common Mistakes:
  • Thinking it is a loop variable
  • Confusing it with a keyword to declare variables
  • Assuming it prints output
2. Which of the following is the correct syntax to use it in a Kotlin lambda that doubles each number in a list?
easy
A. list.map { it * 2 }
B. list.map { x -> x * 2 }
C. list.map { it -> it * 2 }
D. list.map { * 2 }

Solution

  1. Step 1: Identify lambda with single parameter

    The lambda inside map has one parameter, so it can be used implicitly.
  2. Step 2: Check syntax correctness

    list.map { it * 2 } correctly uses it without naming the parameter explicitly.
  3. Final Answer:

    list.map { it * 2 } -> Option A
  4. Quick Check:

    Implicit single parameter lambda syntax = list.map { it * 2 } [OK]
Hint: Use it only when lambda has one parameter [OK]
Common Mistakes:
  • Using explicit parameter name and it together
  • Omitting parameter name but adding arrow
  • Trying to multiply without parameter
3. What is the output of this Kotlin code?
val numbers = listOf(1, 2, 3)
val result = numbers.filter { it > 1 }
println(result)
medium
A. [1, 2, 3]
B. [1]
C. [2, 3]
D. []

Solution

  1. Step 1: Understand the filter condition

    The lambda filters numbers where it > 1, so only numbers greater than 1 remain.
  2. Step 2: Apply filter to the list

    From the list [1, 2, 3], numbers 2 and 3 satisfy the condition.
  3. Final Answer:

    [2, 3] -> Option C
  4. Quick Check:

    Filter with it > 1 = [2, 3] [OK]
Hint: Filter keeps items where it meets condition [OK]
Common Mistakes:
  • Including 1 in the result
  • Confusing filter with map
  • Expecting original list unchanged
4. Identify the error in this Kotlin code snippet:
val list = listOf(1, 2, 3)
val doubled = list.map { it * }
println(doubled)
medium
A. Missing parameter name before *
B. No error, code runs fine
C. Using it without declaring lambda parameter
D. Syntax error: incomplete expression after *

Solution

  1. Step 1: Analyze the lambda expression

    The expression it * is incomplete; it lacks a value after the multiplication operator.
  2. Step 2: Identify syntax error

    This causes a syntax error because Kotlin expects a complete expression after *.
  3. Final Answer:

    Syntax error: incomplete expression after * -> Option D
  4. Quick Check:

    Incomplete expression causes syntax error [OK]
Hint: Check for complete expressions after operators [OK]
Common Mistakes:
  • Assuming it * is valid alone
  • Thinking it must be declared explicitly
  • Ignoring syntax errors
5. Given a list of strings val words = listOf("apple", "banana", "cat"), which Kotlin code uses it correctly to create a list of word lengths greater than 3?
hard
A. words.map { it.length > 3 }
B. words.filter { it.length > 3 }
C. words.map { it.length }.filter { it > 3 }
D. words.filter { length > 3 }.map { it }

Solution

  1. Step 1: Understand the goal

    We want words whose lengths are greater than 3, so we filter words based on their length.
  2. Step 2: Analyze each option

    words.filter { it.length > 3 }, words.filter { it.length > 3 }, correctly filters the words list to include only words with length greater than 3, using it properly.
  3. Final Answer:

    words.filter { it.length > 3 } -> Option B
  4. Quick Check:

    Filter words by length > 3 = words.filter { it.length > 3 } [OK]
Hint: Use filter with it.length > 3 to get words longer than 3 [OK]
Common Mistakes:
  • Filtering on string directly without length
  • Using it incorrectly in filter
  • Mixing order of map and filter
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