Groovy中的Scala“zip”函数有类似的功能吗?

Groovy中的Scala“zip”函数有类似的功能吗?,scala,groovy,Scala,Groovy,在Scala中,我可以这样写: val a = List(1, 2, 3) val b = List(4, 5) println(a zip b) 这将产生List1、4、2、5作为输出。 现在我有两个Groovy系列,希望以类似的方式将它们压缩。最简单的方法是什么?Groovy与Scala的zip等效,可以在列表列表中调用: assert [[1, 2, 3], [4, 5]].transpose() == [[1, 4], [2, 5]] 检查转置方法:注意Scala也有转置,但要求列表

在Scala中,我可以这样写:

val a = List(1, 2, 3)
val b = List(4, 5)
println(a zip b)
这将产生List1、4、2、5作为输出。
现在我有两个Groovy系列,希望以类似的方式将它们压缩。最简单的方法是什么?

Groovy与Scala的zip等效,可以在列表列表中调用:

assert [[1, 2, 3], [4, 5]].transpose() == [[1, 4], [2, 5]]

检查转置方法:注意Scala也有转置,但要求列表大小相同,而Groovy会像zip一样进行截断。我不确定Groovy的人为什么决定重命名所有这些著名的函数原语。@AndresJaanTack Groovy实际上从Ruby获得了所有这些函数名。这有点奇怪,自从我也查了一下,Ruby的过滤器叫做select,而Groovy的findAll。。。Ruby既没有findAll,Groovy也没有selectThen,Ruby的名字来自SmallTalk。。。SmallTalk有select,但没有findAll,就像Ruby一样,所以Groovy似乎与SmallTalk不符,因为Groovy没有zip