对于每个列表中的每个元素,执行操作.元素可以按任何顺序处理.例如在旧的
java中:
List<A> aList; List<B> bList; // aList is larger than bList for (int i=0; i<bList.size(),i++) { aList.get(i).doSomethingWith(bList.get(i)); } for (int j=i; j<aList.size(),j++) { aList.get(j).doSomething(); }
解决方法@H_404_8@
您需要并行处理这两个列表,所以我认为您不能自己流式传输列表.但是,您可以流式传输索引并对其进行处理:
IntStream.range(0,aList.size())
.parallel()
.forEach(i -> {
if (i < bList.size()) aList.get(i).doSomethingWith(bList.get(i));
else aList.get(i).doSomething();
});
IntStream.range(0,aList.size()) .parallel() .forEach(i -> { if (i < bList.size()) aList.get(i).doSomethingWith(bList.get(i)); else aList.get(i).doSomething(); });