我有两个对象列表。我通过查询数据库构建了这个列表。
对于Ex:
List<Employee> firstList={holDate,holName,createdby,empId}
List<Employee> seconList={holDate,holName,createdby,empId}
现在,我需要将holDate
的{{1}},holName
与firstList
的{{1}},holDate
进行比较。如果在holName
中找不到secondList
holDate
holName
,我需要将其添加到单独的列表中。
列表可以是任何顺序。
注意:empId是主键列。
更新 - 我尝试过的内容:
firstList
样本列表值:
firstList = {{2015-08-15,“独立日”,“e1”,“Empl”},{2015-01-26,“共和国日”,“e1”,“Empl”},{2015 -09-20,“阵亡将士纪念日”,“e1”,“Empl”}}
seconList = {{2015-08-15,“独立日”,“e1”,“Emp2”},{2015-10-25,“感恩节日”,“e1”,“Emp2”}}
这里,newlist应该包含seconList中可用的所有值以及来自firstList的“RepublicDay”,“MemorialDay”
答案 0 :(得分:1)
检查
for (Employee emp : firstList) {
boolean found=false;
for (Employee tgtEmp : seconList) {
if ((emp.getHolDate().equals(tgtEmp.getHolDate())) && (emp.getHolName().equals(tgtEmp.getHolName()))) {
found=true;
break;
}
}
if(!found){
printList.add(emp);
}
}
答案 1 :(得分:0)
我认为上述答案并非一般。想想如果在Emp对象上添加任何新字段,则需要更新equals方法。如果您愿意接受新的解决方案,那么请考虑以下答案