zoukankan      html  css  js  c++  java
  • Java8之Predicate, Consumer,Function基础使用

    代码如下:

     List<String> list = new ArrayList<>();
            list.add("c");
            list.add("a");
            list.add("b");
    
            //Predicate使用, 数据流条件过滤
            Predicate<String> predicate = (s)-> s.equals("a");
            Predicate<String> predicateAnd = (s)-> s.equals("b");
            Predicate<String> predicateOr = (s)-> s.equals("c");
            List<String> collect = list.stream().filter(predicate.and(predicateAnd).or(predicateOr)).collect(Collectors.toList());
            System.out.println(collect);
            System.out.println("------------------------");
    
            //Consumer使用, 数据流业务操作不需要返回参数
            Consumer<String> consumer = s -> {
                System.out.println(s);
            };
            list.stream().forEach(consumer);
            System.out.println("------------------------");
            list.stream().parallel().forEach(consumer);
            System.out.println("------------------------");
            list.stream().parallel().forEachOrdered(consumer);
    
            //Function使用, 数据流操作类型转换
            Function<String, Integer> functionCompose = (s)->{
                if(s.equals("B")){
                    return 0;
                }
                return 1;
            };
            Function<Integer, Double> function = (i)->{
                if(i.equals(0)){
                    return 1.0002;
                }
                return 0.0001;
            };
            //先计算functionCompose再计算function  (andThen 与 compose相反)
            Function<String, Double> compose = function.compose(functionCompose);
            List<Double> collect1 = Stream.of("A", "B", "C", "D").map(compose).collect(Collectors.toList());
            System.out.println(collect1);
    美梦成真,变为事实。
  • 相关阅读:
    N个数求和
    求整数段和
    连续因子
    L1-005 考试座位号
    PTA Java tips(转载)
    个位数统计
    flink编译支持CDH6.2.0(hadoop3.0.0)
    hdfs/hbase 程序利用Kerberos认证超过ticket_lifetime期限后异常
    spring boot通过@Bean注解定义一个Controller
    【TypeScript】TypeScript 学习 2——接口
  • 原文地址:https://www.cnblogs.com/x-ll123/p/15117189.html
Copyright © 2011-2022 走看看