我现在有两个具有相同类型对象的列表,我正在尝试比较这两个列表并创建具有这些限制的最终列表
dbRecord
列表的所有记录应该在最终列表中可用
如果两个列表的对象labelName
相同,则从列表dbrecord
中更新列表的对象userRecord
。
如果在列表中发现任何额外记录(与的列表对象userRecord
比较),则应将其添加到最终列表中。labelName
dbRecord
我尝试使用此代码,但问题是它没有将userRecord
列表中找到的任何额外对象添加到最终列表
List<Labels> dbRecord = roleRecord.getLabels();
List<Labels> userRecord = role.getLabels();
List<Labels> updatedLables = new ArrayList<>();
boolean recordFound = false;
for (Labels labels : dbRecord) {
innerloop: for (Labels innerLabels : userRecord) {
if (StringUtils.compare(labels.getLabelName().replaceAll("\\s+", "").toLowerCase(),
innerLabels.getLabelName().replaceAll("\\s+", "").toLowerCase()) == 0) {
recordFound = true;
labels.setAccess(innerLabels.getAccess());
labels.setMatch(innerLabels.getMatch());
updatedLables.add(labels);
}
if (recordFound) {
break innerloop;
}
}
if (!recordFound) {
updatedLables.add(labels);
}
recordFound = false;
}
我在这段代码中缺少什么逻辑?
德玛西亚99
相关分类