zoukankan      html  css  js  c++  java
  • 高效 告别996,开启java高效编程之门 3-11实战:常用终端操作之匹配

    1    重点

    1.1  3个demo的使用

    1.2  anyMatch 中关于 大于n元打印的实际应用场景

    2     Demo之anyMatch:

    demo:

     /**
         * anyMatch 有任一满足的,则停止继续操作,短路操作
         * 需求:如果商品中有任一 大于 n 元的则,打印查出来该商品名称,否则,返回false*/
        @Test
        public void anyMatchTest(){
            Double price = 2000.00;
            Boolean flag = list.stream().anyMatch(Sku->Sku.getTotalPrice()<price);
            System.out.println(flag);
            if(flag){
                //List<Sku> list2 = list.stream().filter(Sku->Sku.getTotalPrice()<200).collect(Collectors.toList());
                list.stream()
                        .filter(Sku->Sku.getTotalPrice()<price)
                        .map(Sku::getSkuName)
                        .forEach(item->System.out.println(JSONObject.toJSONString(item,true)));
            }
        }

    打印日志:

    true
    "无人机"
    "T-shirt"
    "人生的枷锁"
    "老人与海"
    "剑指高效编程"
    "大头皮鞋"
    
    Process finished with exit code 0
    3     Demo之allMatch

    demo:

     /**
         * allMatch 有任一不满足的,则停止继续操作,短路操作
         */
        @Test
        public void allMatch(){
            Boolean bFlag = list.stream().peek(Sku->System.out.println(Sku.getSkuName())).allMatch(Sku->Sku.getTotalPrice()<2000);
            System.out.println(bFlag);
        }

    打印日志:

    无人机
    T-shirt
    人生的枷锁
    老人与海
    剑指高效编程
    大头皮鞋
    杠铃
    false
    
    Process finished with exit code 0
    4     Demo之noneMatch

    demo:

        /**
         * noneMatch 都不满足为true,有任一满足到的为false,短路操作
         */
        @Test
        public void noneMatch(){
            System.out.println(list.stream().peek(Sku->System.out.println(Sku.getSkuName())).noneMatch(Sku->Sku.getTotalPrice()<2000));
        }


    打印日志:

    无人机
    false
    
    Process finished with exit code 0
  • 相关阅读:
    Java SE之Java中堆内存和栈内存[转/摘]
    JavaSE之概述
    Java SE之字符串常量池
    Java SE之String,字符串和子字符串的存储与区别
    Java SE之基本程序设计结构
    Java SE关键字-static
    Java SE之初探反射机制
    Java SE之向上转型(动态绑定)与向下转型
    [C++]指针与引用(定义辨析)
    [C++]指针与引用(应用辨析)
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/12774033.html
Copyright © 2011-2022 走看看