首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java8 stream接口终端操作 anyMatch,allMatch,noneMatch

java8 stream接口终端操作 anyMatch,allMatch,noneMatch。

在流上可以执行很多操作,这些操作分为中间操作(返回Stream)和终结操作(返回确定类型的结果),中间操作允许链式串接。要注意,流上的操作不会改变数据源

这里的distinct()方法就是一个内部操作,会在之前流的基础上创建一个元素唯一的流,而count()方法就是一个终结操作,会返回流的大小。

Stream 操作

迭代 Iterating

Stream API可以替换for、for-each、while循环,使用该方法,开发者可以专注于操作的逻辑,而无需关心元素序列的迭代。如:

过滤 Filtering

filter()方法可用于挑选满足断言的流元素,举例来说,如果有一个这样的流:

下面的代码会创建该列表对应的一个字符串流,找到流中所有包含字符“d”的元素,并将过滤出的元素组成一个新的流:

匹配 Matching

Stream API提供了一组方便的工具来根据某些断言验证一系列元素,要实现该目标,可以使用以下三个方法之一:anyMatch(), allMatch(), noneMatch(),每个函数的功能都一目了然,这些都是返回布尔值的终结操作:

收集 Collecting

归集操作也可以通过collect()方法实现。在将流转换为集合、映射或使用一个字符串表示一个流时,该操作非常方便。还有一个工具类Collectors,提供了几乎所有常用的收集操作,对于一些复杂的任务,额可以创建自定义收集器。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230528A02L5W00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券