## 1. Overview

In this tutorial, we’ll learn how to check if a certain condition is *true* for all elements in a Kotlin list. It can be achieved through various approaches. We’ll discuss the *all()* and *none()* functions, as well as filtering a list.

## 2. Check List With *all()* and *none()* Functions

The Kotlin standard library provides two convenient inline functions. **The ***all()* and *none()* functions allow us to check if a specific condition is *true* for all elements in a list. The *all()* function returns *true* if the given condition is valid for all elements in the list. Otherwise, it returns *false*.

Here’s an example:

```
@Test
fun `when all numbers greater than 0 then it returns true`() {
val numbers = listOf(1, 2, 3, 4, 5, 6)
val allGreaterThanZero = numbers.all { it > 0 }
assertThat(allGreaterThanZero).isTrue
}
```

In the above code, we have a list of numbers. We want to check if all the numbers are greater than zero. The function is used with a lambda expression that checks if each element is greater than zero. Since all the elements in the list satisfy this condition, it returns *true*.

Similarly, **the ***none()* function *returns* true if the given condition is *false* for all elements in the list. Let’s consider the following example:

```
@Test
fun `when all numbers not greater than 10 then it returns true`() {
val numbers = listOf(1, 2, 3, 4, 5, 6)
val allLowerThanTen = numbers.none { it > 10 }
assertThat(allLowerThanTen).isTrue
}
```

Again, we checked that all elements in the list pass the condition.

## 3. Check List Using Filters

Now, let’s check if a condition is *true* for all elements in a Kotlin list by using filters. We can **filter the list based on the condition. Additionally, we can compare the filtered list’s size with the original list’s size**.

Let’s look at an example:

```
@Test
fun `when all numbers greater than 5 then it returns true`() {
val numbers = listOf(7, 8, 9, 10)
val numbersGreaterThanFive = numbers.filter { it > 5 }
assertThat(numbersGreaterThanFive).hasSize(numbers.size)
}
```

In the above code, we want to check if all the numbers are greater than *5*. We apply a filter using the condition *it > 5* to obtain a new list *numbersGreaterThanFive*. Finally, we compare the size of *numbersGreaterThanFive* with the size of the original list. If both sizes match, it means that all elements in the original list satisfy the condition.

## 4. Conclusion

In this article, we explored the *all()* and *none()* functions, which provide convenient ways to perform a check on all elements in a list.

Additionally, we saw how filters can be used to get the same result. Above all, the usage of *all()* and *none()* is more convenient. These methods return the information we need without additional checks.

As always, the source code of the examples is available over on GitHub.