java8 怎么一次遍历两个list

常规方法如下,伪代码,

有更优雅的方法吗 java8都可以。

List l1;
List l2;

for(int i=0;i<l1.size();i++){
    l1.get(i);
    l2.get(i)
}
阅读 21.6k
2 个回答

不知道实际的场景是啥,也就想不到啥优雅的方式,第一反应是这样的东西:

IntStream.range(0, l2.size()).foreach(i -> System.out.println(l1.get(i) + l2.get(i));
    List<Integer> l1 = new ArrayList<>();
    l1.add(1);
    l1.add(2);
    l1.add(3);
    l1.add(4);
    List<Integer> l2 = new ArrayList<>();
    l2.add(5);
    l2.add(6);
    l2.add(7);
    l2.add(8);
    
    Stream.of(l1, l2).flatMap(n -> n.stream()).filter(n->n%2==0).forEach(System.out::println);
    
   
   

flatMap把l1,l2扁平化,然后合并

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题