我需要检查自定义对象的列表(例如),以便在另一个自定义对象列表(模板)中找到匹配项。匹配是字段包含相同值的地方,或者是模板上的值为null。现有代码有一个双循环,如下所示:
for(instance theInstance : theInstanceList){
for(template thTemplate: theTemplateList){
if((theInstanve.field1 = theTemplate.field1 || theTemplate.field1 == null) &&{
(theInstanve.field2 = theTemplate.field2 || theTemplate.field2 == null) &&{
and so on for 8-10 fields ....{
){
Carry out requirements ........{
}
}
}当有很多记录的时候,效率很低。有更好的解决办法吗?
发布于 2020-01-04 23:04:36
以下是我将尝试的部分解决方案(根据您的需求可能很脆弱):
a.将每个实例转换为JSON
b.检查JSON模板列表“是否包含”(string方法) JSON实例
这样,您将只循环一次,在一次比较中,对所有10个字段进行检查。
以下是您可能需要处理的假设:
来自实例和模板的
H 115),如果实例字段被填充,相应的模板不匹配,则比较将失败H 216F 217
如果由于上述任何原因,JSON无法工作,则仍然可以创建一个连接字段值的公式字段,并使用公式字段而不是JSON来执行“包含”操作。
https://stackoverflow.com/questions/59594623
复制相似问题