如何使用Java8连接两个列表

如何使用Java8连接两个列表,java,java-8,Java,Java 8,我有两个类似的清单 List<String> list1 = Arrays.asList("A","B"); List<String> list2 = Arrays.asList("C","D"); List list1=Arrays.asList(“A”、“B”); list2=Arrays.asList(“C”、“D”); 我想在Java8中同时迭代这两个列表,我的输出应该是 A C

我有两个类似的清单

List<String> list1 = Arrays.asList("A","B");
List<String> list2 = Arrays.asList("C","D");
List list1=Arrays.asList(“A”、“B”);
list2=Arrays.asList(“C”、“D”);
我想在Java8中同时迭代这两个列表,我的输出应该是

A C

B D

您可以创建一个IntStream来生成索引,然后将每个索引映射到字符串

   IntStream.range(0, Math.min(list1.size(), list2.size()))
             .mapToObj(i -> list1.get(i)+" "+list2.get(i))
             .forEach(System.out::println);

您不需要流API,只要两个
Iterator
s可以满足您的所有需求:

Iterator<String> iterator1 = list1.iterator();
Iterator<String> iterator2 = list2.iterator();

while (iterator1.hasNext() && iterator2.hasNext()) {
    System.out.println(iterator1.next() + " " + iterator2.next());   // or add to a list
}
Iterator iterator1=list1.Iterator();
迭代器迭代器2=list2.Iterator();
while(iterator1.hasNext()&&iterator2.hasNext()){
System.out.println(iterator1.next()+“”+iterator2.next());//或添加到列表中
}

你可以在这里找到很多好答案