JAVA08_Stream流anyMatch和allMatch和noneMatch的区别

2023-11-15

①. allMatch全匹配

  • ①. 判断数据列表中全部元素都符合设置的predicate条件,如果是就返回true,否则返回false,流为空时总是返回true

  • ②. 接口定义:boolean allMatch(Predicate<? super T> predicate)

  • ③. 方法描述:在allMatch接口定义中是接收Predicate 类型参数,在Lamdba表达式中Predicate 是接收一个T类型参数,然后经过逻辑验证返回[布尔值]结果。这里allMatch表示,判断的条件里,全部元素符合条件,就返回true值

    List<JSONObject> o0o0= new ArrayList<>();
    JSONObject o0= new JSONObject();
    o0.put("itemunit", 0);
    o0.put("mat_no", "mat_no");
    o0.put("warehouseid", "warehouseid");
    o0.put("position_no", "position_no");
    o0.put("batch", "batch");
    o0o0.add(o0);
    JSONObject o0o = new JSONObject();
    o0o.put("itemunit", 0);
    o0o.put("mat_no", "mat_no");
    o0o.put("warehouseid", "warehouseid");
    o0o.put("position_no", "position_no");
    o0o.put("batch", "batch");
    o0o0.add(o0o );
    boolean b =o0o0.stream().allMatch(doc-> doc.getIntValue("itemunit")==0);
    System.out.println(b);
    // 结果: true
    /**
     * 根据状态获取状态值
     * 子单状态一致,返回对应的枚举code
     * 子单状态不一致,则返回状态"7" 部分发货
     *
     * @param orderStatuses 状态列表
     * @return 状态code
     */
    public static String getStatusByStatusList(List<String> orderStatuses) {
        for (TkOrderStatusEnum value : TkOrderStatusEnum.values()) {
            if (orderStatuses.stream().allMatch(status -> status.equals(value.getStatus()))) {
                return value.getCode();
            }
        }
        return PARTIAL_DELIVERY.getCode();
    }

②. anyMatch部分匹配

  • ①. 判断数据列表中是否存在任意一个元素符合设置的predicate条件,如果是就返回true,否则返回false

  • ②. 接口定义:[boolean] anyMatch(Predicate<? super T> predicate)

  • ③. 方法描述:在anyMatch 接口定义中是接收 Predicate 类型参数,在Lamdba表达式中 Predicate 是接收一个T类型参数,然后经过逻辑验证返回布尔值结果。这里anyMatch表示,判断的条件里,任意一个元素符合条件,就返回true值

  • ④. 案例展示:

 List<JSONObject> o0o0= new ArrayList<>();
    JSONObject o0= new JSONObject();
    o0.put("itemunit", 0);
    o0.put("mat_no", "mat_no");
    o0.put("warehouseid", "warehouseid");
    o0.put("position_no", "position_no");
    o0.put("batch", "batch");
    o0o0.add(o0);
    JSONObject o0o = new JSONObject();
    o0o.put("itemunit", 0);
    o0o.put("mat_no", "mat_no");
    o0o.put("warehouseid", "warehouseid");
    o0o.put("position_no", "position_no");
    o0o.put("batch", "batch");
    o0o0.add(o0o );
    boolean b=o0o0.stream().anyMatch(doc-> doc.getIntValue("itemunit")!=0);
    System.out.println(b);
    //结果: false
	// 导出错误文件
	if (activityExcelModels.stream().anyMatch(excelModel -> StringUtils.isNotEmpty(excelModel.getErrorMsg()))) {
		// 如果有一个错误,就需要将Excel导出
		uploadDiscountExportTask(id, activityExcelModels);
		return;
	}

③. noneMatch不匹配

  • ①. 判断数据列表中全部元素都不符合设置的predicate条件,如果是就返回true,否则返回false,流为空时总是返回true

  • ②. 接口定义:boolean noneMatch(Predicate<? super T> predicate)

  • ③. 方法描述:在noneMatch接口定义中是接收 Predicate 类型参数,在Lamdba表达式中Predicate 是接收一个T类型参数,然后经过逻辑验证返回布尔值结果。这里noneMatch表示与allMatch相反,判断的条件里的元素,所有的元素都不符合,就返回true值

  • ④. 示例

   List<JSONObject> o0o0= new ArrayList<>();
    JSONObject o0= new JSONObject();
    o0.put("itemunit", 0);
    o0.put("mat_no", "mat_no");
    o0.put("warehouseid", "warehouseid");
    o0.put("position_no", "position_no");
    o0.put("batch", "batch");
    o0o0.add(o0);
    JSONObject o0o = new JSONObject();
    o0o.put("itemunit", 0);
    o0o.put("mat_no", "mat_no");
    o0o.put("warehouseid", "warehouseid");
    o0o.put("position_no", "position_no");
    o0o.put("batch", "batch");
    o0o0.add(o0o );
    boolean b=o0o0.stream().noneMatch(doc-> doc.getIntValue("itemunit")==0);
    System.out.println(b);
    // 结果:false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA08_Stream流anyMatch和allMatch和noneMatch的区别 的相关文章

  • 如何使用 Tomcat 启用浏览器缓存静态内容(图像、css、js)?

    如何使用 Tomcat 启用浏览器缓存静态内容 图像 css js 首选的解决方案是编辑 spring MVC 配置文件或 web xml 尝试 改变值
  • 一起使用 String 和 int 时的 System.out.println 行为 [重复]

    这个问题在这里已经有答案了 考虑下面的代码片段 public class Student public static void main String args int a 3 int b 4 System out println a b
  • JavaScript 附加和前置与 jQuery 附加和前置

    QA Style 我最近读了一篇文章 里面说JavaScript已经实现了append and prepend受 jQuery 启发的方法 这对我来说是一个新知识 因为据我所知 要附加一个元素 我必须使用element appendChil
  • Rails:包括外部 JavaScript

    我想使用 JavaScript 库 例如 jQuery 插件 我是否使用 Rails 资产管道 或者我应该将其包含在 javascript include tag 中 我有哪些选择以及推荐的做法是什么 您会仅在几个页面上还是在整个应用程序中
  • 如何将空字符串序列化为单个空标签?

    我使用 Simple XML 框架序列化此类 Root public class HowToRenderEmptyTag Element required false private String nullString 我想得到
  • 码头无故停止

    我需要经验丰富的码头用户的建议 我在负载均衡器 亚马逊云 后面维护着 2 台 Linux 机器 使用 Jetty 9 0 3 有时我的 Jetty 容器会被 Thread 2 无故关闭 同时地 显示以下日志并且容器无故停止 没有错误 没有例
  • 我可以使用 javascript 生成 JSON 文件吗?

    我想在域 example1 com 上创建一个页面 并获取 解析另一个域 example2 com json json 上的 JSON 文件 可以使用 javascript 生成 json 文件 在 example2 com 上 吗 我认为
  • RegEx 使用 match() 在 JavaScript 中提取字符串数组

    我正在尝试使用string match 在 javascript 中使用正则表达式来提取字符串数组 这是一个示例字符串 CREATE TABLE listings listing id INTEGER UNIQUE state TEXT t
  • Karma 测试报告运行速度快,但实际上运行速度慢

    最好的解释是a video https youtu be Zwwi01JuPrQ 或参见下面的 gif 您会注意到 Karma 进度报告器报告测试只需要几毫秒 但显然需要相当长的时间 我在推特上提到了这一点 https twitter co
  • 如何使用JSqlParser向sql添加where条件?

    我想用JSqlParser向sql添加where条件 例如 Before select from test table where a 1 group by c After select from test table where a 1
  • 传单地图显示为灰色

    我正在启动 leaflet js快速开始 http leafletjs com examples quick start html但我的地图显示为灰色 我缺少什么吗 脚本 js var leafletMap L map leafletMap
  • 如何从 JavaScript 中的 URL 中提取主机?

    捕获域直到结束字符 我需要一个捕获的正则表达式example com在所有这些中 example com 3000 example com pass gas example com example com 如果您确实有有效的 URL 那么这
  • 将纬度/经度转换为 X/Y,以便在美国地图图像上进行阿尔伯斯投影

    我正在尝试使用 C 或 Javascript 将纬度 经度转换为 X Y 坐标 以将带有 CSS 的 div 左 上 定位到美国地图的背景图像上 美国的标准地图投影是阿尔伯斯投影 如下所示 但 StackOverflow 仅提供参考基本墨卡
  • 解析器阻塞与渲染阻塞

    我一直在阅读有关优化网络性能的 Google 开发人员文档 我对那里使用的术语有点困惑 CSS 和 JavaScript 文件都会阻止 DOM 构建 但是 CSS 被称为渲染阻塞 而 JavaScript 被称为解析器阻塞 解析器阻塞 和
  • RegisterClientScriptCode 在部分回发后不起作用

    以下代码行位于 SharePoint 网站的用户控件中 ScriptManager RegisterClientScriptBlock this this GetType jquery144 false ScriptManager Regi
  • 加密 Chrome 扩展程序?

    无论如何 要加密 Chrome 扩展程序 以免暴露源代码 您可以使用混淆器隐藏您的代码 市场上有很多可用的 像Google Closure编译器这样的工具很少 而且市场上有很多在线javascript ofuscators 你可以使用任何一
  • Angular 计算 HTML 中的百分比

    我试图在 HTML 中显示百分比值 如下所示 td myvalue totalvalue 100 td 它可以工作 但有时它会给出一个很长的小数 这看起来很奇怪 如何四舍五入到小数点后两位 有更好的方法吗 您可以使用过滤器 如下所示杰夫约翰
  • 如果垃圾收集器没有删除未引用的对象,它们还能运行吗?

    如果一个对象正在等待垃圾收集 但包含一个在该对象的最后一个引用更改时正在运行的线程 那么该线程是否仍会运行并且代码是否仍会执行 那么您是否可能有一堆应该删除的幽灵对象 但它们对您的代码产生了影响 你如何防止这种情况发生 有没有办法让对象知道
  • jQuery() 与 jQuery.parseHtml() 空格语法错误

    我有一行 javascript 导致 jQuery 中出现语法错误 document find Container replaceWith data find Content 代码本身如果相当无害的话 它所做的只是从 ajax 调用获取响应
  • 根据对象内的值将对象数组分成两部分

    我一直在尝试 并努力 弄清楚如何根据键值对拆分对象数组 长话短说 我有一个火车正在停靠的车站列表 需要将之前的停靠点和未来的停靠点分开 我正在使用的数据如下所示 station code SOC station name Southend

随机推荐

  • 如何保证APP兼容性覆盖测试和手机APP测试如何进行兼容性测试?(学习笔记)

    1 背景 众所周知 APP兼容性覆盖测试一直以来被认为是一个高成本 耗时低效 耗人力的测试工作 且兼容性测试是一项必须要进行的测试项目 因为有不同的机型 系统平台 分辨率 网络 厂商 数据兼容以及不同兼容问题场景需要进行覆盖 本文章将通过本
  • G - 和为给定数

    蒜头君给出若干个整数 询问其中是否有一对数的和等于给定的数 输入格式 共三行 第一行是整数 n 0 lt n le 100 000 n 0
  • Arduino IDE将FreeRTOS用于STM32

    介绍 适用于STM32F103C8的FreeRTOS STM32F103C是一种能够使用FreeRTOS的ARM Cortex M3处理器 我们直接在Arduino IDE中开始使用STM32F103C8的FreeRTOS 我们也可以使用K
  • JDBC那些事(二)——查询结果集_ResultSet

    接上一篇 JDBC的查询返回值相对复杂一点 所以单独写 上一篇写到stmt excuteUpdate sql 执行结果返回的是int类型的值 此处的sql语句为非查询语句 而如果要执行查询语句则需要使用Statement对象的excuteQ
  • Wlan——锐捷智分网络解决方案及其配置

    目录 智分解决方案 一代智分解决方案 二代智分解决方案 三代智分解决方案 智分 解决方案 技术原理 隧道建立 智分 方案的配置 配置基础信息 配置微AP的无线信号 调整微AP的射频参数 宿舍场景特点 房间小 单个房间用户少 房间密集 房间之
  • Java中集合接口Collection,集合List,Set

    集合的特点 1 集合的长度是可变的 2 集合只能存储对象 3 集合不可以存储基本数据类型 数组与集合的区别 1 数组的长度是固定的 集合的长度是可变的 2 数组只能存储基本数据类型 集合只能存储对象 注意 Java中集合接口和实现类都位于j
  • jenkins学习系列之PMD静态代码检测

    一 jenkins集成PMD流程 实际生产中 上线的代码往往要经过检测 满足一些规则才行 这些规则可以是直接使用官方的规则 也可以是自己写的 因为目前的工作和java有关 所以这里以java代码静态检测 PMD为例子来进行讲解 这里PMD是
  • mysql sql语句太长_MySQL SQL语句过长引起的问题

    我现在做数据统计 后台数据库用的是MySQL 有一个常用的需求 查询未订购用户的访问PV 用户唯一性标识是用户手机号 第一种写法 SELECT COUNT 1 FROM day resinlog 2012 06 12 WHERE mobil
  • 【数据结构】线性结构—循环队列及其基本操作

    通过顺序表存储队列 当入队时队尾指针 1 出队时队头指针也 1 通过取余运算使队头指针和队尾指针在顺序表的表头和表尾移动以实现循环 当队为空队时候 队头指针和队尾指针都指向同一个位置 当队非空的时候队尾指针指向队尾元素的下一位 那么若队满的
  • sql语句查询重复的数据

    查找所有重复标题的记录 SELECT FROM t info a WHERE SELECT COUNT FROM t info WHERE Title a Title gt 1 ORDER BY Title DESC 一 查找重复记录 1
  • PMBOK(第六版) PMP笔记——《第十章 项目沟通管理》

    第十章 项目沟通管理 PM 大多数时间都用在与干系人的沟通上 第十章有三个过程 规划沟通管理 根据干系人的需求 制定沟通管理计划 管理沟通 根据沟通管理计划发布 收集 处理信息 监督沟通 确保在正确时间将正确信息传递给正确的人 1 10 1
  • 花生壳内网穿透+Windows系统,如何搭建网站?

    1 准备工作 在百度搜索 Win7下安装Apache PHP MySQL 根据搜到的教程自行安装WAMP环境 如果在网页上键入http 127 0 0 1 nbsp 出现以下页面表示您的服务器已经建好 下一步就是关键 如何通过花生壳内网穿透
  • 大家平时天天说的分布式系统到底是什么东西

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 从单块系统说起 团队越来越大 业务越来越复杂 分布式出现 庞大系统分而治之 分布式系统所带来的技术问题 一句话总结 什么是分布式系统设计和开发经验 补充说明 中
  • 【死磕 NIO】— ServerSocketChannel 的应用实例

    大家好 我是大明哥 一个专注于 死磕 Java 的程序员 死磕 Java 系列为作者 chenssy 倾情打造的 Java 系列文章 深入分析 Java 相关技术核心原理及源码 死磕 Java https www cmsblogs com
  • java大数据开发训练营--Java Web 后端技术基础(下)之Spring IOC控制反转

    一 Spring概述 1 1 Spring是什么 Spring是分层的 Java SE EE应用 full stack 全栈式 轻量级开源框架 提供了表现层 SpringMVC和持久层 Spring JDBC Template以及 业务层
  • 目标检测 3—— 人脸检测

    笔记来源 DeepLearning 500 questions 上次学习了目标检测的基本概念 Two Stage和 One Stage 算法 1 目标检测Two Stage 2 目标检测One Stage 4 人脸检测 在目标检测领域可以划
  • rk3368 Android9.0 HIDL调试记录

    rk3368 Android9 0 HIDL调试记录 Platform RK3368 OS Android 9 0 Kernel 4 4 194 文章目录 rk3368 Android9 0 HIDL调试记录 1 使用hidl gen工具生
  • AD使用插件生成交互式BOM

    AD使用插件生成交互式BOM 1 下载AD用交互式BOM插件 首先前往GitHub下载这位大佬开发的插件 地址 https github com lianlian33 InteractiveHtmlBomForAD 下载完成后打开文件所在位
  • 请实现一个简单的网页计算器(vue)

    练习一下父组件向子组件传值 计算部分用eval方法实现 运行截图如下 话不多说 上代码 页面结构 div div
  • JAVA08_Stream流anyMatch和allMatch和noneMatch的区别

    allMatch全匹配 判断数据列表中全部元素都符合设置的predicate条件 如果是就返回true 否则返回false 流为空时总是返回true 接口定义 boolean allMatch Predicate