[英]How can i do this list addition in java?
我有兩個列表,我在其中遍歷一個列表,嘗試匹配某些項目,然后將一個列表的內容替換為另一個。
public static void setLtItems(List<ItmResponse> list1, List<ItmResponse> list2){
ListIterator<ItmResponse> list1Iterator = list1.listIterator();
while (list1Iterator.hasNext()) {
ItmResponse a= list1Iterator.next();
for (ItmResponse b : list2) {
if (a.getOrgTransNo().equalsIgnoreCase(b.getOrgTransNo())) {
// replace the item in list1 with the list2 item
list1Iterator.set(b);
}
}
上面的代碼可以正常工作,但是如果列表2還有一個與列表1中的一個項目匹配的項目,而列表1中沒有添加項目,因為列表1僅包含1個項目,並且列表有2個項目與列表1匹配。 因此,在替換list1中的list2的第一項之后,我必須將list2的第二項添加到list1作為第二項。 如何在Java中執行此操作?
嘗試
while (list1Iterator.hasNext()) {
boolean found = false; // new
ItmResponse a= list1Iterator.next();
for (ItmResponse b : list2) {
if (a.getOrgTransNo().equalsIgnoreCase(b.getOrgTransNo())) {
// replace the item in list1 with the list2 item
if (!found) {
list1Iterator.set(b);
found = true;
}
else {
list1Iterator.add(b);
}
}
}
使用OrgTransNo對list1和list2排序
廣告,如果值包含在list1中,則添加到list1中而不設置...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.