gpt4 book ai didi

Groovy - 使用集合中的 where 子句计数不同

转载 作者:行者123 更新时间:2023-12-01 22:36:57 28 4
gpt4 key购买 nike

我有以下 POJO 类:

public class MemberError{
int lineNumber
String type // Can be 'A' or 'B'
String message
}

同一成员可能有很多错误(相同的行号和类型,不同的消息)。

给定一个 MemberError 对象的集合,我希望找到类型 A 和 B 的不同成员(我指的是 lineNumber)的数量。

目前我的解决方案是这样的:

NoNullHashSet<Integer> typeAMems = errorSet.collect{ MemberError memErr ->
if(memErr.type == 'A'){
return memErr.lineNumber
}
}
NoNullHashSet<Integer> typeBMems = errorSet.collect{ MemberError memErr ->
if(memErr.type == 'B'){
return memErr.lineNumber
}
}
def numberOfTypeAMembersWithErrors = typeAMems.size()
def numberOfTypeBMembersWithErrors = typeBMems.size()

这似乎是正确的,但感觉不是很整洁。

谁能建议另一种使用 Groovy 集合 API 实现此目的的方法?

最佳答案

你能不能:

Set typeAMems = errorSet.findAll { it.type == 'A' }.lineNumber
Set typeBMems = errorSet.findAll { it.type == 'B' }.lineNumber

关于Groovy - 使用集合中的 where 子句计数不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21608278/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com