我有两个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