List 如何获取我在groovy中迭代的列表的引用

List 如何获取我在groovy中迭代的列表的引用,list,collections,groovy,functional-programming,duplicates,List,Collections,Groovy,Functional Programming,Duplicates,我有一个类似于[0,1,2,3,4,2,1]的列表,我想为列表中每个相等的元素元组打印一条警告消息。鉴于上面的列表,我想做一些类似的事情 [0, 1, 2, 3, 4, 2, 1].someMethodIDontKnow { Int num, List owner -> if(owner.contains(num)) println "warning, multiple "+ num +" detected" println it } 我当然可以保存列表,然后这样做: L

我有一个类似于
[0,1,2,3,4,2,1]
的列表,我想为列表中每个相等的元素元组打印一条警告消息。鉴于上面的列表,我想做一些类似的事情

[0, 1, 2, 3, 4, 2, 1].someMethodIDontKnow { Int num, List owner ->
    if(owner.contains(num)) println "warning, multiple "+ num +" detected"
    println it
}
我当然可以保存列表,然后这样做:

List<Int> numlist = [0, 1, 2, 3, 4, 2, 1]
numlist.each {
    if (numList.contains(it)) println "warning, multiple "+ it +" detected"
    println it
}
List somelist
//...
somelist
.findAll{...}
.intersect{...}
//check for some warnings here
.collect{...}
.unique{...}
如果我可以做得不同,我希望避免将列表分配给变量

有没有什么收集方法从我的眼睛里溜走了?

这个怎么样

[0, 1, 2, 3, 4, 2, 1].groupBy().each { k, v -> 
    if (v.size() > 1) {
        println "Warning: multiple $k detected" 
        println k
    }
}