我有兩個LinkedList,我想將兩個Integeres添加到第三個列表中。我想第一個元素從第一個列表從第二個列表等Java迭代器和列表 - 添加到第三個列表
我需要的最終輸出是
[1, 6, 2, 7, 3, 8, 4, 9, 5, 10, 11, 12].
添加,那麼第一個元素,但我不斷收到
[1, 6, 2, 7, 3, 8, 4, 9, 5, 10].
我該如何解決?
這裏是我的代碼:
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Ex11_2_alternate {
public static void main(String[] args) {
List<Integer> list = new LinkedList<>();
List<Integer> list2 = new LinkedList<>();
list.addAll(Arrays.asList(1,2,3,4,5));
list2.addAll(Arrays.asList(6,7,8,9,10,11,12));
alternate(list,list2);
}
private static void alternate(List<Integer> list, List<Integer> list2) {
List<Integer> list3 = new LinkedList<>();
Iterator<Integer> itr = list.iterator();
Iterator<Integer> itr2 = list2.iterator();
while (itr.hasNext() & itr2.hasNext()) {
int element = itr.next();
int element2 = itr2.next();
if ((element | element2) != 0) {
list3.add(element);
list3.add(element2);
}
}
System.out.println("After ... : " + list3);
}
}
真棒檢查遺留的值。這對我有效。 我只是不明白它是如何工作的。我們有兩個while循環。 我可以理解,它將整數添加到list3中 - 但我無法保持它是如何按正確順序執行的。 因爲,在第一個while循環中,它會將list中的所有值添加到list3中......當它完成時,它將移動到第二個while循環,它會將值添加到list3後的所有值名單。 無法理解它如何在兩個while循環之間跳轉。 – 2015-03-13 15:35:25
我編輯了我的答案,以便值會交替出現,因爲我在第一次閱讀您的問題時錯過了這個要求。有了這個while while循環,它現在應該可以工作。 – mhlz 2015-03-13 15:36:25
啊,我明白了......而且我明白了:) 感謝您的幫助;) – 2015-03-13 15:41:06