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);
    美梦成真,变为事实。
  • 相关阅读:
    BZOJ1042: [HAOI2008]硬币购物
    BZOJ1089: [SCOI2003]严格n元树
    BZOJ1060: [ZJOI2007]时态同步
    BZOJ2697: 特技飞行
    BZOJ2464: 中山市选[2009]小明的游戏
    BZOJ1430: 小猴打架
    BZOJ3675: [Apio2014]序列分割
    BZOJ2453: 维护队列
    BZOJ2120: 数颜色
    BZOJ4547: Hdu5171 小奇的集合
  • 原文地址:https://www.cnblogs.com/x-ll123/p/15117189.html
Copyright © 2011-2022 走看看