Using the 'flatMap' Function for Transforming Nested Collections

The 'flatMap' function is extremely useful when dealing with nested collections, such as lists of lists. It allows you to apply a transformation function to each element of the nested collection and then flatten the result into a single collection. This can simplify your code when you need to work with multiple layers of data.


val nestedList = listOf(
    listOf(1, 2, 3),
    listOf(4, 5),
    listOf(6, 7, 8, 9)
)

val flattenedList = nestedList.flatMap { it.map { number -> number * 2 } }

println(flattenedList) // Output: [2, 4, 6, 8, 10, 12, 14, 16, 18]