我有兩個對象列表。我通過查詢數據庫來構造這個列表。比較Java中的兩個對象列表以刪除重複對象
對於防爆:
List<Employee> firstList={holDate,holName,createdby,empId}
List<Employee> seconList={holDate,holName,createdby,empId}
現在,我需要比較holDate
的firstList
holName
與holDate
的secondList
holName
。如果holDate
,holName
的firstList
沒有在secondList
找到,我需要在單獨的列表中添加。
該列表可以以任何順序。
注意:empId是主鍵列。
更新 - 我已經試過:
for(Employee emp:firstList) {
for(Employee tgtEmp:seconList) {
if((emp.getHolDate()!=tgtEmp.getHolDate())&& (emp.getHolName()!=tgtEmp.getHolName())){
printList.add(emp); break;
}
}
}
樣品清單值:
firstList = {{2015年8月15日, 「獨立日」, 「E1」, 「EMPL」 },{2015-01-26,「Republic Day」,「e1」,「Empl」},{2015-09-20,「Memorial Day」,「e1」,「Empl」}}
seconList = {{ 2015-08-15,「獨立日」,「e1」,「Emp2」},{2015-10-25,「感謝奉獻日」,「e1」,「Emp2」}}
這裏newlist具有所有的價值在seconList和「RepublicDay」,「亡兵紀念日」,可從firstList
什麼是'Employee'?它是否有自定義的'equals'和'hashcode'方法,因此只需使用'List#removeAll'或'List#retainAll'來標識重複項就很容易了。當然,你可以把他們兩個都變成某種'Set' ... – MadProgrammer
你在提問之前做過任何研究嗎?看到很多問題,你可以在計算器 –
嗨Renjith得到的,請在下面找到片斷
的(員工EMP:firstList){ \t \t \t \t \t \t \t \t的(員工tgtEmp:seconList){ \t \t \t \t \t \t \t \t \t \t如果((emp.getHolDate()!= tgtEmp.getHolDate())&& \t \t \t \t \t \t \t(emp.getHolName()!= tgtEmp.getHolName())){ \t \t \t \t \t \t的printList。添加(EMP); \t \t \t \t \t \t break; \t \t \t \t \t} \t \t \t \t \t \t \t \t \t \t \t \t} \t \t \t \t} – iShower