我有对象列表(名称A),A有属性B和C.我需要在列表中找到B属性与另一个对象的C属性相等的对象.例如:
def objectList = [A1,A2,A3,A4,A5,A6,A7,A8];
if A1.B == A2.C then return A1,A2;
Run Code Online (Sandbox Code Playgroud)
有什么好方法吗?
你可以使用findAll方法:
def list = []
def matching = list.findAll { A a ->
a.B == a.C
}
Run Code Online (Sandbox Code Playgroud)
更新
您可以通过以下方式获取所有匹配对象:
def matching = []
list.unique { A a1, A a2 ->
if (a1.B == a2.C || a1.C == a2.B) {
matching << a1 << a2
}
return 1
}
Run Code Online (Sandbox Code Playgroud)
这是一种hacky解决方案,因为它没有按预期使用独特的方法.
| 归档时间: |
|
| 查看次数: |
802 次 |
| 最近记录: |