Groovy 中的 flatMap() 集合

Rom*_*sov 2 groovy

在 Kotlin 和 Scala 中,我们的flatMap函数的工作原理如下:

val listOfMaps = listOf(
    mapOf("a" to 1, "b" to 2, "c" to 10),
    mapOf("a" to 3, "b" to 4, "d" to 99),
)

listOfMaps.flatMap { listOf(it["a"], it["b"]) }
Run Code Online (Sandbox Code Playgroud)
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是完全相同的函数,但是在 Groovy 中:

[[a:1,b:2,c:10],[a:3,b:4,c:99]].flatMap { [it.a, it.b] }
Run Code Online (Sandbox Code Playgroud)

Rom*_*sov 7

我需要的函数在 Groovy 中存在,但它的名称不同 - collectMany

[[a:1,b:2,c:10],[a:3,b:4,c:99]].collectMany { [it.a, it.b] }
Run Code Online (Sandbox Code Playgroud)
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)