我有两个包含域类对象的数组列表' User'
a = [User : 35, User : 36, User : 37]
b = [User : 32, User : 33, User : 34, User : 35, User : 36, User : 37]
当我执行 intersect ( java.util )时,它返回一个空列表。如何在数组列表中找到公共对象。
答案 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]
看到了吗?