我正在尝试在Groovy语言中从另一个列表中获取一对差异为1的列表。这些pair只是(x,y)坐标,它们是唯一的。
下面是一个简单的示例。请注意,列表可以有数十个pairs。
def l1 = [[x:1, y:1]]
def l2 = [[x:0, y:0]]
println l1 - l2
你将得到[],这是一个空列表,但应该是这样的:[[x:1,y:1]]。
更新:
for(n in l2) {
l1 = l1 - n
}
它能够工作,但是这是一种黑魔法且没有优化。
minus()
可以正常工作。 - cfrickl1.toSet()-l2.toSet()
可以工作。同时,l1-[[x:1,y:0]]
也可以工作。只有[x:0,y:0]
会出现一些奇怪的情况。 - cfrick