Bird
Raised Fist0
Kotlinprogramming~5 mins

It keyword for single parameter in Kotlin

Choose your learning style10 modes available
Introduction

The it keyword helps you write shorter code when a function has only one parameter.

When you use a lambda function with one parameter and want to keep code simple.
When you want to avoid naming the single parameter explicitly in short functions.
When working with collections and using functions like <code>map</code>, <code>filter</code>, or <code>forEach</code>.
When you want to quickly transform or check items in a list without extra code.
Syntax
Kotlin
collection.map { it * 2 }

it automatically refers to the single parameter inside the lambda.

You don't need to declare the parameter name if there is only one.

Examples
This doubles each number in the list using it as the current item.
Kotlin
val numbers = listOf(1, 2, 3)
val doubled = numbers.map { it * 2 }
Here, it is each word, and we get the first letter.
Kotlin
val words = listOf("apple", "banana", "cherry")
val firstLetters = words.map { it.first() }
This keeps only numbers greater than 1 using it.
Kotlin
val filtered = numbers.filter { it > 1 }
Sample Program

This program triples each number in the list using it and prints the new list.

Kotlin
fun main() {
    val numbers = listOf(5, 10, 15)
    val tripled = numbers.map { it * 3 }
    println(tripled)
}
OutputSuccess
Important Notes

If your lambda has more than one parameter, you cannot use it.

You can always name the parameter explicitly if you want, like { number -> number * 2 }.

Summary

it is a shortcut for the single parameter in a lambda.

Use it to write cleaner and shorter code when working with one parameter.

Commonly used with collection functions like map and filter.

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