ArrayList与对象groovy相交

时间:2014-08-01 08:29:33

标签: groovy

我有两个包含域类对象的数组列表' User'

a = [User : 35, User : 36, User : 37]
b = [User : 32, User : 33, User : 34, User : 35, User : 36, User : 37]

当我执行 intersect java.util )时,它返回一个空列表。如何在数组列表中找到公共对象。

1 个答案:

答案 0 :(得分:4)

这是因为您在列表中保留了地图(使用相同的密钥)。

尝试:

def a = [User1 : 35, User2 : 36, User3 : 37]
def b = [User4 : 32, User5 : 33, User6 : 34, User1 : 35, User2 : 36, User3 : 37]

assert a.intersect(b) == [User1:35, User2:36, User3:37]

当您修改它以包含ID时,它的行为与预期一致:

def a = [35, 36, 37]
def b = [32, 33, 34, 35, 36, 37]

assert a.intersect(b) == [35,36,37]

看到了吗?