zoukankan      html  css  js  c++  java
  • java8新特性lamda表达式在集合中的使用

    1、利用stream().forEach()循环处理List;

    1. List<String> list = Lists.newArrayList();//新建一个List 用的google提供的Guava  package com.google.common.collect;  
    2.         list.add("1");  
    3.         list.add("2");  
    4.         list.add("3");  
    5.   
    6.         list.stream().forEach(string ->{  
    7.             System.out.println(string);  
    8.         });  
    9. 运行结果:  
    10. 1  
    11. 2  
    12. 3  


    2、利用stream().map()处理List,并给另外一个List赋值: 

    1. List<String> list1 = Lists.newArrayList();  
    2.         List<String> list2 = Lists.newArrayList();  
    3.         list1.add("1");  
    4.         list1.add("2");  
    5.         list1.add("3");  
    6.   
    7.         list2 = list1.stream().map(string -> {  
    8.             return "stream().map()处理之后:" + string;  
    9.         }).collect(Collectors.toList());  
    10.           
    11.         list2.stream().forEach(string -> {  
    12.             System.out.println(string);  
    13.         });  
    14. 运行结果:  
    15. stream().map()处理之后:1  
    16. stream().map()处理之后:2  
    17. stream().map()处理之后:3  

    3、利用stream().filter()处理List,对该List进行过滤处理:

      1. List<String> list1 = Lists.newArrayList();  
      2.         List<String> list2 = Lists.newArrayList();  
      3.         list1.add("1");  
      4.         list1.add("1");  
      5.         list1.add("2");  
      6.         list1.add("3");  
      7.   
      8.         list2 = list1.stream().filter(s -> s != "1").collect(Collectors.toList());  
      9.         System.out.println(list2.toString());  
      10. 运行结果:  
      11. [2, 3]  
  • 相关阅读:
    清理git提交记录并不能达到真正硬盘“瘦身”
    virtualbox虚拟机异常暂停
    百兆带宽升千兆-番外篇
    流水文之百兆带宽升千兆
    OSS设置静态网站托管+CDN加速OSS域名
    每日一坑-exsi中win虚拟机调分辨率
    nginx筛选字段+excel统计
    树莓派使用Samba共享文件
    chrome无法使用独显解决
    解决jdk16安装后无jre目录的问题
  • 原文地址:https://www.cnblogs.com/LvLoveYuForever/p/6694449.html
Copyright © 2011-2022 走看看