[英]How to join two lists together by alternately adding the objects?
如果我有兩個清單
List<Paper> papers;
List<Paper> papers2;
遍歷它們並創建新列表的最佳方法是什么,即訂單的順序是紙張中的一個Paper對象,然后紙張中的一個Paper對象,依此類推,直到列表結束?
編輯它們的大小不同,並根據輸入進行更改
謝謝
基本上,您將需要循環為
1)通過兩個列表一起去2)然后繼續通過循環
papers
3)然后繼續通過循環papers2
answer = new ArrayList ();
int i = 0, k = 0;
while (i < papers.size () && k < papers2.size ())
{
// add papers.get (i);
// add papers2.get (k);
i++;
k++;
}
// this will not be entered if completely looped through papers
while (i < papers.size ())
{
// add papers.get (i);
i++;
}
// this will not be entered if completely looped through papers2
while (k < papers2.size ())
{
// add papers2.get (i);
k++;
}
以下是在2個字符串列表l1和l2之間切換的代碼。 對於論文列表,您可以具有類似的邏輯。
ArrayList<String> res = new ArrayList<String>();
int i=0,j=0;
while(i<l1.size() && j<l2.size()){
res.add(l1.get(i++));
res.add(l2.get(j++));
}
while(i<l1.size()){
res.add(l1.get(i++));
}
while(j<l2.size()){
res.add(l2.get(j++));
}
for (int j2 = 0; j2 < res.size(); j2++) {
System.out.println(j2 +" : "+res.get(j2));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.