在 ArrayList 上与 groovy 对象相交

2023-12-21

我有两个数组列表,其中包含域类“User”的对象

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

当我表演时相交 (java.util),它返回一个空列表。如何找到数组列表中的常见对象。


这是因为您将地图(具有相同的密钥)保留在列表中。

Try:

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]

See it?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ArrayList 上与 groovy 对象相交 的相关文章

随机推荐