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
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
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 != "1").collect(Collectors.toList());
- System.out.println(list2.toString());
- 运行结果:
- [2, 3]