Kotlin Set filterNot()
Syntax & Examples
Set.filterNot() extension function
The filterNot() extension function in Kotlin filters elements in a set, returning a list of elements that do not match the given predicate.
Syntax of Set.filterNot()
The syntax of Set.filterNot() extension function is:
fun <T> Set<T>.filterNot(predicate: (T) -> Boolean): List<T>
This filterNot() extension function of Set returns a list containing all elements not matching the given predicate.
Parameters
Parameter | Optional/Required | Description |
---|---|---|
predicate | required | A function that takes an element and returns true if the element should be excluded from the result. |
Return Type
Set.filterNot() returns value of type List
.
✐ Examples
1 Filtering out even numbers
Using filterNot() to filter elements in a set, excluding even numbers.
For example,
- Create a set of integers.
- Define a predicate function that returns true for even numbers.
- Use filterNot() to exclude even numbers from the set.
- Print the resulting list.
Kotlin Program
fun main(args: Array<String>) {
val numbers = setOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val oddNumbers = numbers.filterNot { it % 2 == 0 }
println(oddNumbers)
}
Output
[1, 3, 5, 7, 9]
2 Filtering out null values
Using filterNot() to filter elements in a set, excluding null values.
For example,
- Create a set containing integers and null values.
- Define a predicate function that returns true for null values.
- Use filterNot() to exclude null values from the set.
- Print the resulting list.
Kotlin Program
fun main(args: Array<String>) {
val mixedSet: Set<Int?> = setOf(1, 2, null, 4, null, 6)
val nonNulls = mixedSet.filterNot { it == null }
println(nonNulls)
}
Output
[1, 2, 4, 6]
3 Filtering out strings of length less than 3
Using filterNot() to filter elements in a set, excluding strings with a length less than 3.
For example,
- Create a set of strings.
- Define a predicate function that returns true for strings with a length less than 3.
- Use filterNot() to exclude these strings from the set.
- Print the resulting list.
Kotlin Program
fun main(args: Array<String>) {
val strings = setOf("a", "ab", "abc", "abcd")
val longStrings = strings.filterNot { it.length < 3 }
println(longStrings)
}
Output
["abc", "abcd"]
Summary
In this Kotlin tutorial, we learned about filterNot() extension function of Set: the syntax and few working examples with output and detailed explanation for each example.