Kotlin Set flatMap()
Syntax & Examples
Set.flatMap() extension function
The flatMap() extension function in Kotlin returns a single list of all elements yielded from the results of the transform function being invoked on each element of the original set.
Syntax of Set.flatMap()
The syntax of Set.flatMap() extension function is:
fun <T, R> Set<T>.flatMap(transform: (T) -> Iterable<R>): List<R>
This flatMap() extension function of Set returns a single list of all elements yielded from results of transform function being invoked on each element of original collection.
Parameters
Parameter | Optional/Required | Description |
---|---|---|
transform | required | A function that takes an element and returns an iterable of results. |
Return Type
Set.flatMap() returns value of type List
.
✐ Examples
1 Flattening a set of lists
Using flatMap() to flatten a set of lists into a single list.
For example,
- Create a set of lists of integers.
- Define a transform function that returns the list itself.
- Use flatMap() to flatten the set of lists into a single list.
- Print the resulting list.
Kotlin Program
fun main() {
val setOfLists: Set<List<Int>> = setOf(listOf(1, 2), listOf(3, 4), listOf(5))
val flatList = setOfLists.flatMap { it }
println(flatList)
}
Output
[1, 2, 3, 4, 5]
2 Flattening a set of strings into characters
Using flatMap() to flatten a set of strings into a single list of characters.
For example,
- Create a set of strings.
- Define a transform function that returns the characters of each string as an iterable.
- Use flatMap() to flatten the set of strings into a single list of characters.
- Print the resulting list of characters.
Kotlin Program
fun main() {
val setOfStrings: Set<String> = setOf("one", "two", "three")
val charList = setOfStrings.flatMap { it.toList() }
println(charList)
}
Output
[o, n, e, t, w, o, t, h, r, e, e]
3 Flattening a set of integers to their factors
Using flatMap() to flatten a set of integers into a single list of their factors.
For example,
- Create a set of integers.
- Define a transform function that returns the factors of each integer as an iterable.
- Use flatMap() to flatten the set of integers into a single list of their factors.
- Print the resulting list of factors.
Kotlin Program
fun main() {
val setOfIntegers: Set<Int> = setOf(6, 8)
val factorsList = setOfIntegers.flatMap { number -> (1..number).filter { number % it == 0 } }
println(factorsList)
}
Output
[1, 2, 3, 6, 1, 2, 4, 8]
Summary
In this Kotlin tutorial, we learned about flatMap() extension function of Set: the syntax and few working examples with output and detailed explanation for each example.