groovy中单个数组的列表

时间:2014-03-31 10:15:36

标签: grails groovy

我在grails中有一个名为allproiList的列表,其中包含本身就是数字数组的元素。

我想将列表数组的所有个别数字放入一个集合中。

我怎么能在groovy中做到这一点?

2 个答案:

答案 0 :(得分:5)

试试这个:

//input
def allproiList = [[1, 2], [3, 4], [4, 5, 7, 8], [2, 5, 6]]

//transform to Set
Set numsOnly = allproiList.flatten() as Set

//or if you just need List of uniq elements, you could do
//List numsOnly == allproiList.flatten().unique()

//check result
assert numsOnly.sort() == [1, 2, 3, 4, 5, 6, 7, 8]

答案 1 :(得分:0)

要从List转换为Set

def result = [1, 2, 2, 2, 3].toSet()
assert result instanceof Set
assert result == [1, 2, 3] as Set

参考: http://groovy.codehaus.org/groovy-jdk/java/util/Collection.html#toSet()