Bird
Raised Fist0
Kotlinprogramming~5 mins

Filter and filterNot in Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the filter function do in Kotlin?
The filter function returns a list containing only the elements that satisfy a given condition (predicate).
Click to reveal answer
beginner
What is the difference between filter and filterNot in Kotlin?
filter keeps elements that match the condition, while filterNot keeps elements that do NOT match the condition.
Click to reveal answer
beginner
How would you use filterNot to remove all even numbers from a list?
Use filterNot { it % 2 == 0 } to keep only odd numbers by removing even numbers.
Click to reveal answer
beginner
Given val numbers = listOf(1, 2, 3, 4, 5), what is the result of numbers.filter { it > 3 }?
The result is [4, 5] because only numbers greater than 3 are kept.
Click to reveal answer
intermediate
Can filter and filterNot be used with any Kotlin collection?
Yes, both functions can be used with any Kotlin collection like lists, sets, and sequences.
Click to reveal answer
What does filterNot { it % 2 == 0 } do to a list of integers?
AKeeps only odd numbers
BKeeps only even numbers
CRemoves odd numbers
DRemoves all numbers
Which function keeps elements that satisfy the condition?
AfilterNot
Bmap
Creduce
Dfilter
What will listOf(1,2,3).filter { it > 5 } return?
A[] (empty list)
BError
C[5]
D[1, 2, 3]
If you want to remove elements that are less than 10, which function and condition would you use?
Afilter { it < 10 }
BfilterNot { it < 10 }
Cfilter { it > 10 }
DfilterNot { it > 10 }
Are filter and filterNot functions destructive (do they change the original list)?
AYes, they modify the original list
BOnly filter modifies the list
CNo, they return a new list
DOnly filterNot modifies the list
Explain how filter and filterNot work in Kotlin with an example.
Think about keeping or removing elements based on a condition.
You got /3 concepts.
    Describe a real-life situation where you might use filter and filterNot in a Kotlin program.
    Imagine sorting or selecting items from a list based on a rule.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the filter function do in Kotlin collections?
      easy
      A. Sorts the collection in ascending order
      B. Removes all items from the collection
      C. Keeps items where the condition is false
      D. Keeps items where the condition is true

      Solution

      1. Step 1: Understand the purpose of filter

        The filter function selects elements that satisfy a given condition (true).
      2. Step 2: Compare with other options

        Options B and D describe different operations, and C describes filterNot, not filter.
      3. Final Answer:

        Keeps items where the condition is true -> Option D
      4. Quick Check:

        filter = keep true items [OK]
      Hint: Remember: filter keeps true, filterNot keeps false [OK]
      Common Mistakes:
      • Confusing filter with filterNot
      • Thinking filter removes all items
      • Mixing filter with sorting functions
      2. Which of the following is the correct syntax to filter even numbers from a list numbers in Kotlin?
      easy
      A. numbers.filter { it / 2 == 0 }
      B. numbers.filterNot { it % 2 == 0 }
      C. numbers.filter { it % 2 == 0 }
      D. numbers.filter { it % 2 != 0 }

      Solution

      1. Step 1: Identify the condition for even numbers

        Even numbers satisfy it % 2 == 0.
      2. Step 2: Choose correct filter syntax

        filter keeps items where condition is true, so numbers.filter { it % 2 == 0 } keeps even numbers.
      3. Final Answer:

        numbers.filter { it % 2 == 0 } -> Option C
      4. Quick Check:

        filter with even condition = numbers.filter { it % 2 == 0 } [OK]
      Hint: Use filter with condition true to keep desired items [OK]
      Common Mistakes:
      • Using filterNot instead of filter
      • Using division instead of modulo
      • Confusing condition signs (== vs !=)
      3. What is the output of this Kotlin code?
      val nums = listOf(1, 2, 3, 4, 5)
      val result = nums.filterNot { it > 3 }
      println(result)
      medium
      A. [1, 2, 3]
      B. [4, 5]
      C. [1, 2, 3, 4, 5]
      D. []

      Solution

      1. Step 1: Understand filterNot condition

        filterNot { it > 3 } keeps items where it > 3 is false, so items ≤ 3.
      2. Step 2: Apply condition to list

        Numbers 1, 2, 3 are ≤ 3, so they are kept; 4 and 5 are removed.
      3. Final Answer:

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

        filterNot > 3 = keep ≤ 3 [OK]
      Hint: filterNot keeps items where condition is false [OK]
      Common Mistakes:
      • Confusing filterNot with filter
      • Including numbers greater than 3
      • Expecting empty list output
      4. Find the error in this Kotlin code that tries to filter out odd numbers:
      val numbers = listOf(1, 2, 3, 4, 5)
      val evens = numbers.filterNot { it % 2 == 0 }
      println(evens)
      medium
      A. The list is empty after filtering
      B. It incorrectly keeps odd numbers instead of even
      C. filterNot cannot be used with modulo operator
      D. Syntax error in lambda expression

      Solution

      1. Step 1: Analyze the filterNot condition

        filterNot { it % 2 == 0 } keeps items where it % 2 == 0 is false, so it keeps odd numbers.
      2. Step 2: Check intended output

        The code tries to get even numbers but actually keeps odd numbers, so logic is reversed.
      3. Final Answer:

        It incorrectly keeps odd numbers instead of even -> Option B
      4. Quick Check:

        filterNot with even condition keeps odd [OK]
      Hint: filterNot reverses condition; use filter to keep true items [OK]
      Common Mistakes:
      • Using filterNot instead of filter for positive condition
      • Assuming filterNot removes items instead of keeping false
      • Misreading modulo condition
      5. Given a list val words = listOf("apple", "banana", "", "cherry", ""), which Kotlin expression returns a list of only the non-empty words using filter and filterNot correctly?
      hard
      A. words.filter { it.isNotEmpty() }
      B. words.filterNot { it.isNotEmpty() }
      C. words.filter { it.isEmpty() }
      D. words.filterNot { it.length > 0 }

      Solution

      1. Step 1: Identify condition for non-empty strings

        Non-empty strings satisfy it.isNotEmpty().
      2. Step 2: Choose correct filter usage

        filter keeps items where condition is true, so words.filter { it.isNotEmpty() } returns only non-empty words.
      3. Final Answer:

        words.filter { it.isNotEmpty() } -> Option A
      4. Quick Check:

        filter with isNotEmpty = keep non-empty [OK]
      Hint: Use filter with positive condition to keep desired items [OK]
      Common Mistakes:
      • Using filterNot with isNotEmpty to keep empty strings
      • Confusing isEmpty and isNotEmpty
      • Expecting filterNot to remove empty strings
      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