Java Stream 过滤器教程展示了如何使用过滤操作过滤 Java 流。

Java 流

Java 流是来自源的支持聚合操作的一系列元素。 流不存储元素。 元素是按需计算的。 元素是从数据源(如集合,数组或 I / O 资源)中消耗的。

流聚合操作类似于 SQL 操作。 我们可以对流应用过滤,映射,缩小,匹配,搜索或排序操作。 流允许链接多个流操作。 与使用外部迭代的集合不同,流在内部进行迭代。

Java Stream 过滤器

Java Stream 过滤器方法是一个中间操作,它返回与给定谓词匹配的流元素。 谓词是一个返回布尔值的函数。

Java Stream 过滤器字符串长度

下面的示例过滤字符串列表。

JavaStreamFilterStringLength.java

我们有一个单词表。 我们过滤列表以仅包括长度大于 5 的字符串。

使用stream()方法,我们从字符串列表创建 Java 流。 在此流上,我们应用filter()方法。 filter()方法接受匿名函数,该函数对长度大于 5 的流的所有元素返回布尔值 true。 我们使用collect()方法从流中创建一个列表。

我们使用forEach()方法遍历结果并将其所有元素打印到控制台。

这些单词有五个以上的字符。

Java Stream 过滤器空值

下一个示例过滤掉null值。

JavaStreamFilterRemoveNulls.java

我们有一个单词表。 通过流过滤操作,我们创建了一个新列表,其中删除了null值。

在 lambda 表达式的主体中,我们检查值是否不是null。 collect()方法是一种终端操作,可从过滤后的流中创建列表。

最终输出中没有null值。

Java Stream 多个过滤器操作

可以对流应用多个过滤器操作。

JavaStreamMultipleFilters.java

在示例中,我们对整数流应用了多个过滤操作。

我们有一个整数值数组。

IntConsumer是一个接受单个整数值参数且不返回结果的操作。

使用Arrays.stream()方法从数组创建流。 执行多个过滤操作。

这些整数满足所有过滤条件。

Java Stream 过滤器对象

下一个示例显示了如何过滤对象。

User.java

在示例中,我们使用此User类。

JavaStreamFilterObjects.java

该示例创建User对象的流。 它过滤与特定正则表达式匹配的那些。

在过滤谓词中,我们选择与.*post\\.com模式匹配的电子邮件。

这两个用户的电子邮件与常规模式匹配。

Java Stream 过滤器按键映射

在以下示例中,我们通过映射的键过滤映射。

JavaStreamFilterMapByValues.java

该示例过滤以 s 字母开头的域名。

这是示例的输出。

Java Stream 过滤器按值映射

在以下示例中,我们根据映射的值过滤映射。

JavaStreamFilterMapByValues.java

在示例中,我们从映射中过滤出两个国家。

这是输出。

在本教程中,我们已经处理过 Java Stream 过滤操作。

java straem 过滤_Java Stream 过滤器相关推荐

  1. java stream过滤_Java Stream过滤器

    java stream过滤 Java Stream filter can be very helpful when you want to do some processing only on som ...

  2. java 正则表达式过滤_java正则表达式过滤特殊字符

    Java用正则表达式 过滤特殊字符,只允许中文.字母Java用正则表达式 过滤特殊字符,只允许中文.字母或数字,该怎么写? String s1="我是正确测试数据aasdf2342343AS ...

  3. java 登录过滤_Java 过滤器实现(登录) + 拦截器(两种方法)

    以下是实现未登录不能进入页面的实现 使用了thyemeleaf+SpringBoot+过滤器实现的,过滤器的核心代码如下: @Component @WebFilter(filterName= &quo ...

  4. java 合并流_Java Stream 流实现合并操作示例

    本文实例讲述了Java Stream 流实现合并操作.分享给大家供大家参考,具体如下: 1. 前言 Java Stream Api提供了很多有用的 Api 让我们很方便将集合或者多个同类型的元素转换为 ...

  5. java DTO循环_Java Stream与for循环比较

    导读: 笔者使用的是小米笔记本 1.99 GHz 四核Intel Core i7,本文对比了几种方法求素数耗时.这几种方法分别是:传统的for方法,java8 stream流,parallel str ...

  6. java accept()用法_Java Stream.Builder accept()用法及代码示例

    Stream.Builder accept(T t)用于在流的构建阶段将元素插入到元素中.它将元素添加到正在构建的流中. 用法: void accept(T t) 参数:此方法接受强制参数t,该参数是 ...

  7. java emoji过滤_java过滤emoji表情

    java手机端网页常用的过滤emoji表情,注意:过滤常规emoji表情,iso或安卓一些手机自带的特殊表情不在过滤范围 import java.util.regex.Matcher; import ...

  8. java 合并流_Java Stream 流如何进行合并操作

    1. 前言 Java Stream Api 提供了很多有用的 Api 让我们很方便将集合或者多个同类型的元素转换为流进行操作.今天我们来看看如何合并 Stream 流. 2. Stream 流的合并 ...

  9. java脏字过滤_java 过滤脏字

    public class DirtyFilter { private int rs = -1; public  String[] dirtyArr = {};//脏字数组 public  boolea ...

最新文章

  1. 数据结构(05)— 线性单链表实战
  2. 大小端字节序介绍以及判断当前环境字节序的程序【C语言】
  3. XAMPP 配置虚拟域名/localhost重定向
  4. php 合并数组 +和array_merge的区别
  5. pyqt5中信号与槽的认识
  6. linux中chmod与chown两个命令详解
  7. ML之SVM:随机产生100个点,建立SVM模型,找出超平面方程
  8. STM32的I/O口的八种工作模式
  9. html表格背景图片格式,HTML表格标记教程(8):背景图像属性BACKGROUND
  10. QQ浏览器登陆微信的方法
  11. 使用sklearn预测走势_Prophet: 时间序列预测库
  12. Linux下android开发环境 遇到的问题
  13. Monkey命令相关总结
  14. 总线及单片机各种线 以及数据总线宽度
  15. mysql8.0源码分析——文件管理fil_system
  16. 教你如何一键批量删除空间说说
  17. EOS智能合约开发系列(16): deferred action与inline action
  18. Omics精进04|临床Gene Panel检测-实验生物信息学分析
  19. parallels desktop cracked
  20. c语言打开一个html文件路径,C语言文件处理 -C语言文件的打开和关闭

热门文章

  1. 双非小伙暑期实习斩获腾讯WXG offer,这不比博人传燃?
  2. 起来,起来........
  3. AltiumDesigner PCB设计规则
  4. 多个经纬度地点数据,如何同时在地图上标注出来(路径显示)
  5. Ubuntu系统安装Wine环境运行流量精灵教程
  6. 锁定文件失败,打不开磁盘或它所依赖的某个快照磁盘
  7. HTML css js成长路程
  8. 网卡属于计算机网络的传输介质吗,两台电脑通过双绞线和网卡互连算不算计算机网络?...
  9. [Angular2]eclipse中angular2开发环境的搭建
  10. 如何在EXCEL中查找多个单元格中的多个关键字,多个单元格满足多个条件的行的绿色在线工具