Stream filter()过滤有效数据

2023-11-04

filter()是一个中间操作,可以与 reduce()、collect()、map() 等一起使用。filter一般适用于list集合,主要作用就是模拟sql查询,从集合中查询想要的数据。

java官方文档语法如下。

filter(Predicate predicate)

它返回Stream的实例,该实例在处理Predicate后包含过滤后的数据。它被用作中间操作。filter()可用于许多不同的场景。如果我们想根据任何条件筛选list, array 或map,我们可以使用 lambda 表达式和 filter() 方法轻松完成。

接下来我们通过一个简单的例子说明一下

class Person {
    private String name;//姓名
    private String gender;//性别
  ...
    //省略构造方法和getter、setter方法
    ...

}

使用Stream的filter进行过滤,只保留男性

Collection<Person> collection = new ArrayList();
collection.add(new Person("张三", "男"));
collection.add(new Person("李四", "女"));
collection.add(new Person("王五", "男"));
collection.add(new Person("赵六", "男"));

Stream<Person> personStream = collection.stream().filter(new Predicate<Person>() {
    @Override
    public boolean test(Person person) {
      
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Stream filter()过滤有效数据 的相关文章

随机推荐

  • webpack

    一 区别 前面两节我们有提到Loader与Plugin对应的概念 先来回顾下 loader 是文件加载器 能够加载资源文件 并对这些文件进行一些处理 诸如编译 压缩等 最终一起打包到指定的文件中 plugin 赋予了 webpack 各种灵
  • 拓世AIGC

    在 机器 自然力和科学的应用 一书中 马克思曾指出 火药 指南针 印刷术 这是预告资产阶级社会到来的三大发明 火药把骑士阶层炸得粉碎 指南针打开了世界市场并建立了殖民地 而印刷术则变成了新教的工具 这段话深刻阐释了科学技术对人类社会带来的深
  • 深度学习中的token和tokenization

    作为一名即将入学的研究生 在这个假期准备看一些论文为自己的科研做准备 结果刚开始就出现了停顿 在论文中出现了名词token 我无法对它做出很好的翻译 导致论文读不下去 网上对它的解释多种多样 经过查阅学习后 我的理解如下 我阅读的是英文文献
  • MySQL字符编码的修改及查看

    MySQL字符编码的修改及查看 1 修改MySQL的默认编码集 也称全局编码集 修改MySQL的全局配置文件 etc my cnf 在其中添加 character set server utf8 编码格式 collation server
  • C++11中Lambda表达式的基本用法和总结

    文章目录 前言 lambda的基本形式 lambda中的捕获列表 的常用方式 lambda表达式中mutable关键字 lambda作为形参传参的用法 前言 对于Lambda表达式 其实本质就是一个函数 其用法也和函数差不多 只不过它和函数
  • 简单了解JVM

    jvm作用 把一套程序在不同的平台上运行 可以实现自动的内存管理 自动的垃圾回收 jvm分为四大结构 1 类加载系统 负责从硬盘上加载字节码文件 2 运行时数据区 存储时的数据 分为栈 方法区 堆 本地方法栈 程序计数器 3 执行引擎 负责
  • Oracle入门笔记(二)——SQL Developer的基本使用

    Oracle各种连接和连接配置 1 Oracle自带SQL plus工具的使用 2 Navicat连接Oracle 3 SQL Developer连接Oracle 4 Oracle表空间 4 1永久表空间 4 2临时表空间 5 SQL De
  • 微信小程序实现画布生成海报功能

    微信小程序可以通过使用 标签来实现生成海报的功能 以下是基本实现步骤 1 在 WXML 文件中创建一个 标签 并设置其宽度和高度属性
  • MySQL磁盘使用率是什么_磁盘利用率和饱和度理解

    在这篇文章里 会介绍磁盘利用率 Utilization 和饱和度 Saturability 相关的知识 在之前的博客里面 我写了一些关于CPU使用率和饱和度之间有什么实质性不同 以及CPU使用率 饱和度如何从不同维度影响响应时间 RT 的文
  • lua 取一个数字的整数部分

    lua在对两个整数进行除法操作时不会向C那样将结果转换成整数 而是自动转换成浮点数 lua没有数据类型之分 如果要实现此功能需要取得结果中的整数部分 math ceil x Returns the smallest integer larg
  • Redis 持久化机制详解

    Redis是内存数据库 数据都是存储在内存中 为了避免进程退出导致数据的永久丢失 需要定期将Redis中的数据以某种形式 数据或命令 从内存保存到硬盘 当下次Redis重启时 利用持久化文件实现数据恢复 除此之外 为了进行灾难备份 可以将持
  • 首次进入小程序拒绝相机权限,再次允许camera组件显示不出来

    第一次进去拒绝授权开启摄像头后 再次进去允许授权 但是页面camera组件显示不出来 百度了一下 大家都说直接给camera组件写个显示隐藏 试过了 不是很理想 最终想到的解决办法 拒绝授权后进入的方法 官方的函数名 handleCamer
  • sqli-labs:less-21

    和20题很像 然后一看cookie是一个base64编码的 解码一下 是Dumb 所以cookie一个是注入点 只是有个base64编码 随便提一下 base32 只有大写字母和数字数字组成 或者后面有三个等号 base64 只有大写字母和
  • 【MATLAB】使用Classification Learner工具箱训练和预测数据

    近日对matlab内置的classification Learner 工具箱有所接触 现在整理一下关于使用该工具箱训练模型和预测数据的相关操作 一 原始数据 其中列向量为样本 行向量内为每个样本的6个特征 最后一列为样本的响应变量 即为样本
  • PyCharm社区版安装教程和环境配置及使用

    一 PyCharm官网下载 访问官网地址 https www jetbrains com pycharm 点击首页 Download 按钮 进入下载页面 选择Community下的 Download 如图 点击后进入 Thank you f
  • ntp服务器修改时区,部署ntp服务器笔记与时区的介绍与修改

    准备工作 server ip 10 1 1 119 client ip 10 1 1 56 关闭selinux vi etc selinux config SELINUX disabled 关闭iptables service iptabl
  • 时序分析基本概念介绍——SDC概述

    今天我们要介绍的时序概念是设计约束文件SDC 全称Synopsys design constraints SDC是一个设计中至关重要的一个文件 它对电路的时序 面积 功耗进行约束 它是设计的命脉 决定了芯片是否满足设计要求的规范 Timin
  • C++ vs2015编译json和protobuf报错nlohmann::detail::static_constnlohmann::detail::to_json_fn::value‘

    目录 问题描述 解决方案 参考连接 问题描述 补充 这个问题也会导致protobuf编译和使用报错 按照本方法修复后问题解决 只要引入项目中的 include nlohmann json hpp 用vs2015编译就会报错 甚至用vs202
  • Swift里的元组和可选类型

    文章目录 元组 Tuples 定义一个元组 元组作为函数的返回值 元组的适用范围 可选类型 Optionals 定义可选类型 示例分析 Optional中使用nil 元组 Tuples 元组将多个值分组为一个复合值 元祖中的值可以是任何类型
  • Stream filter()过滤有效数据

    filter 是一个中间操作 可以与 reduce collect map 等一起使用 filter一般适用于list集合 主要作用就是模拟sql查询 从集合中查询想要的数据 java官方文档语法如下 filter Predicate pr