Bird
Raised Fist0
Kotlinprogramming~5 mins

Collection size and emptiness checks in Kotlin

Choose your learning style10 modes available
Introduction
We check if a collection has items or is empty to decide what to do next in our program.
When you want to see if a list has any elements before processing it.
Before showing data from a collection, check if it is empty to show a message instead.
To avoid errors by making sure a collection is not empty before accessing its items.
When you want to count how many items are in a collection to display or use that number.
Syntax
Kotlin
collection.isEmpty()
collection.isNotEmpty()
collection.size
collection.count()
Use isEmpty() to check if the collection has no elements.
Use isNotEmpty() to check if the collection has one or more elements.
Examples
Check if the list has elements or not.
Kotlin
val list = listOf(1, 2, 3)
println(list.isEmpty())  // false
println(list.isNotEmpty())  // true
Check an empty list returns true for isEmpty.
Kotlin
val emptyList = emptyList<String>()
println(emptyList.isEmpty())  // true
println(emptyList.isNotEmpty())  // false
Get the number of items in the list using size or count.
Kotlin
val fruits = listOf("apple", "banana", "cherry")
println(fruits.size)  // 3
println(fruits.count())  // 3
Sample Program
This program checks if the list 'numbers' has items and prints the count or a message if empty.
Kotlin
fun main() {
    val numbers = listOf(10, 20, 30)
    if (numbers.isNotEmpty()) {
        println("The list has ${numbers.size} items.")
    } else {
        println("The list is empty.")
    }
}
OutputSuccess
Important Notes
Using isEmpty() and isNotEmpty() is clearer and safer than comparing size to zero.
Both size and count() return the number of elements; size is usually faster.
Checking emptiness helps avoid errors when accessing elements in a collection.
Summary
Use isEmpty() to check if a collection has no elements.
Use isNotEmpty() to check if it has one or more elements.
Use size or count() to find how many items are in the collection.

Practice

(1/5)
1. Which Kotlin function checks if a collection has no elements?
easy
A. count()
B. isNotEmpty()
C. size()
D. isEmpty()

Solution

  1. Step 1: Understand the purpose of isEmpty()

    This function returns true if the collection has zero elements.
  2. Step 2: Compare with other functions

    isNotEmpty() checks for one or more elements, count() and size return the number of elements but do not return a boolean.
  3. Final Answer:

    isEmpty() -> Option D
  4. Quick Check:

    Check empty collection with isEmpty() = true [OK]
Hint: Use isEmpty() to check for no elements [OK]
Common Mistakes:
  • Confusing isEmpty() with isNotEmpty()
  • Using count() to check emptiness
  • Calling size() as a function instead of property
2. Which of the following is the correct syntax to check if a list named items is not empty in Kotlin?
easy
A. if (items.isNotEmpty()) { ... }
B. if (items.count > 0) { ... }
C. if (items.size() > 0) { ... }
D. if (items.isEmpty) { ... }

Solution

  1. Step 1: Identify correct function call syntax

    In Kotlin, isNotEmpty() is a function and requires parentheses.
  2. Step 2: Check other options for syntax errors

    isEmpty without parentheses is invalid, size is a property, not a function, so size() is wrong, and count is a function, so count > 0 is invalid.
  3. Final Answer:

    if (items.isNotEmpty()) { ... } -> Option A
  4. Quick Check:

    Use isNotEmpty() with parentheses [OK]
Hint: Remember isNotEmpty() needs parentheses [OK]
Common Mistakes:
  • Using property syntax without parentheses for functions
  • Calling size as a function
  • Using count without parentheses
3. What is the output of this Kotlin code?
val numbers = listOf(1, 2, 3, 4)
println(numbers.size)
println(numbers.isEmpty())
println(numbers.isNotEmpty())
medium
A. 4 true false
B. 3 true false
C. 4 false true
D. Error: size is not a property

Solution

  1. Step 1: Check the size of the list

    The list has 4 elements, so numbers.size returns 4.
  2. Step 2: Evaluate emptiness checks

    numbers.isEmpty() returns false because the list is not empty.
    numbers.isNotEmpty() returns true because the list has elements.
  3. Final Answer:

    4 false true -> Option C
  4. Quick Check:

    Size = 4, empty? false, not empty? true [OK]
Hint: Remember size counts elements; isEmpty() returns false if not empty [OK]
Common Mistakes:
  • Thinking size is zero-based index
  • Confusing isEmpty() and isNotEmpty() results
  • Assuming size is a function, causing error
4. Identify the error in this Kotlin code snippet:
val data = listOf<String>()
if (data.isEmpty) {
    println("No data")
}
medium
A. Missing parentheses after isEmpty
B. listOf<String>() cannot be empty
C. println syntax is incorrect
D. data should be mutable

Solution

  1. Step 1: Check usage of isEmpty

    isEmpty is a function and must be called with parentheses: isEmpty().
  2. Step 2: Verify other parts of the code

    listOf<String>() creates an empty list correctly, println syntax is correct, and mutability is not required for checking emptiness.
  3. Final Answer:

    Missing parentheses after isEmpty -> Option A
  4. Quick Check:

    Functions need parentheses even if no arguments [OK]
Hint: Always add () when calling functions like isEmpty() [OK]
Common Mistakes:
  • Using property syntax for functions
  • Thinking empty list creation is invalid
  • Assuming mutability is needed for checks
5. You have a list of user names and want to print how many users are online only if the list is not empty. Which Kotlin code snippet correctly does this?
hard
A. if (users.isEmpty()) println("Online users: ${users.size}")
B. if (users.size > 0) println("Online users: ${users.size}")
C. if (users.count == 0) println("Online users: ${users.count}")
D. if (users.isNotEmpty) println("Online users: ${users.size}")

Solution

  1. Step 1: Check condition for non-empty list

    Using users.size > 0 correctly checks if the list has one or more elements.
  2. Step 2: Verify printing statement

    The print statement uses string interpolation to show the number of users online.
  3. Step 3: Analyze incorrect options

    isEmpty() checks for empty, so if (users.isEmpty()) println("Online users: ${users.size}") prints when empty, which is wrong.
    count is a function, so count == 0 is invalid.
    isNotEmpty without parentheses is incorrect syntax.
  4. Final Answer:

    if (users.size > 0) println("Online users: ${users.size}") -> Option B
  5. Quick Check:

    Check size > 0 for non-empty list [OK]
Hint: Use size > 0 or isNotEmpty() with parentheses [OK]
Common Mistakes:
  • Using isEmpty() to check for non-empty
  • Calling count without parentheses
  • Omitting parentheses on isNotEmpty()
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