Java8 利用Lambda处理List集合
Java 8新增的Lambda表达式,我们可以很方便地并行操作大集合, 刚刚接触java8,Lambda还是挺好用的,目前接触的也不多,给大家举几个例子(后续有关于Lambda的补充也会继续更新此篇博客) 废话不多说,咱们直接进入例子
1、利用stream().forEach()循环处理List;
List<String> list = Lists.newArrayList();//新建一个List 用的google提供的Guava package com.google.common.collect; list.add("1"); list.add("2"); list.add("3"); list.stream().forEach(string ->{ System.out.println(string); }); 运行结果: 1 2 3
2、利用stream().map()处理List,并给另外一个List赋值:
List<String> list1 = Lists.newArrayList(); List<String> list2 = Lists.newArrayList(); list1.add("1"); list1.add("2"); list1.add("3"); list2 = list1.stream().map(string -> { return "stream().map()处理之后:" + string; }).collect(Collectors.toList()); list2.stream().forEach(string -> { System.out.println(string); }); 运行结果: stream().map()处理之后:1 stream().map()处理之后:2 stream().map()处理之后:3
3、利用stream().filter()处理List,对该List进行过滤处理:
List<String> list1 = Lists.newArrayList(); List<String> list2 = Lists.newArrayList(); list1.add("1"); list1.add("1"); list1.add("2"); list1.add("3"); list2 = list1.stream().filter(s -> !s.equals("1")).collect(Collectors.toList()); System.out.println(list2.toString()); 运行结果: [2, 3]
上一篇:
多线程四大经典案例