Input >> list = [[1,2,3], [6], [3,4,5,6]] Output >> [1,2,3,3,4,5,6,6]
我想知道有没有比这更直接的事
l = [] list.each{ l = l + it } println l
比如默认Groovy闭包或方法?
kq4fsx7k1#
尝试flatten,即:
flatten
list.flatten()
或者,要获得所需的输出:
list = [[1,2,3], [6], [3,4,5,6]] assert list.flatten().sort() == [1,2,3,3,4,5,6,6]
yc0p9oo02#
有些人可能会错过@Desty的评论,在这里作为答案发布:请注意,this的语义不同,因为它递归遍历列表,在以下情况下产生不同的结果:[[1,2,3],[4,[5]],[6]].flatten().执行OP连接的最简洁方式是list.collectMany { it }示例:
list = [[1,2,3], [6], [3,4,5,6]] assert list.collectMany{ it }.sort() == [1,2,3,3,4,5,6,6]
2条答案
按热度按时间kq4fsx7k1#
尝试
flatten
,即:或者,要获得所需的输出:
yc0p9oo02#
有些人可能会错过@Desty的评论,在这里作为答案发布:
请注意,this的语义不同,因为它递归遍历列表,在以下情况下产生不同的结果:[[1,2,3],[4,[5]],[6]].flatten().执行OP连接的最简洁方式是list.collectMany { it }
示例: