java straem 过滤_Java Stream 过滤器

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 过滤操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值