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.  
    }

 

posted @ 2020-11-26 11:17  疯子110  阅读(2770)  评论(0编辑  收藏  举报