【发布时间】:2014-05-29 19:27:30
【问题描述】:
我有一个类似[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{...}
如果我能以不同的方式做的话,我想避免将列表分配给变量。
是不是有什么收藏方法从我的眼里溜走了?
【问题讨论】:
标签: list collections groovy functional-programming duplicates