java使用lambda表达式对List集合进行操作(JDK1.8)


  1. import java.util.ArrayList;
  2.  
    import java.util.List;
  3.  
    import java.util.function.Predicate;
  4.  
    import java.util.stream.Collectors;
  5.  
     
  6.  
     
  7.  
    public class LambdaStudy
  8.  
    {
  9.  
    public static void main(String[] args) {
  10.  
     
  11.  
    //初始化list集合
  12.  
    List<String> list = new ArrayList<String>();
  13.  
    list.add( "测试数据1");
  14.  
    list.add( "测试数据2");
  15.  
    list.add( "测试数据3");
  16.  
    list.add( "测试数据12");
  17.  
     
  18.  
    //使用λ表达式遍历集合
  19.  
    list.forEach(s -> System.out.println(s));
  20.  
     
  21.  
    //结合Predicate使用和过滤条件筛选元素
  22.  
    Predicate<String> contain1 = n -> n.contains( "1");
  23.  
    Predicate<String> contain2 = n -> n.contains( "2");
  24.  
     
  25.  
    //根据条件遍历集合
  26.  
    list.stream().filter(contain1).forEach(n -> System.out.println(n));
  27.  
    list.stream().filter(s -> contain1.test(s)).forEach(s -> System.out.println(s));
  28.  
    list.stream().filter(contain1.and(contain2)).forEach(n -> System.out.println(n));
  29.  
    list.stream().filter(contain1.or(contain2)).forEach(n -> System.out.println(n));
  30.  
     
  31.  
    //将过滤后的元素重新放到一个集合中
  32.  
    List<String> newList = list.stream().filter(contain1.and(contain2)).collect(Collectors.toList());
  33.  
     
  34.  
    newList.forEach(s -> System.out.println(s));
  35.  
     
  36.  
    }
  37.  
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM