2015-11-05 53 views
1

是否有一种简单的方法来检查一组对象是否包含具有值的属性?的东西Groovy - 查看对象集合是否具有包含值的属性的简单方法

例像我在寻找:

[[name:'a'],[name:'b'],[name:'c']].toSet().contains{it->it.name=='b'} == true

编辑:我想出了一个解决方案,但如果有人有一个更有效的一个,也许不会创建一个新的集合,请分享。

[[name:'a'],[name:'b'],[name:'c']].toSet().findAll{it.name=='b'}.size()>0

回答

3
[[name: 'a'], [name: 'b'], [name: 'c']].any{ it.name == 'b' } 
0
def x1 = [['name':'a'],['name':'b'],['name':'c']] 
def x2 = x1.​groupBy{it.name}​​​​​​​​​​​​​​​ 
x2.containsKey('b')​​​​ 

这应该为你工作。

+0

我创建了一张地图列表,然后将列表转换为一个集合以创建一个示例集合。 – Anonymous1

+0

@ Anonymous1 - 看看这个。 –

相关问题