簡體   English   中英

如何在Java中添加此列表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM