Java 8 Stream 的快捷键管理

流是使用集合中对象的一种方式。

流让一个人在最后说他们想要什么。这与命令式的方法形成了对比,命令式方法要求一个人说出如何在最后收集他们想要的东西。

流还支持微不足道的多线程。

基本流方法

有两种控制流交互的基本方法。 这些方法背后的总体思路是操纵对象的集合,以便仅剩下想要的对象。

如果我必须选择处理流的不可或缺的方法,我会说Map、Filter和Collect都在其中。

Filter

Filter接受一个谓词,只留下谓词为真的值。

Map

Map接受一个函数,并将流中的值从一种类型转换为另一种类型

sort

sort接受比较器,并根据比较器中指定的顺序对流中的值排序。

Collect

Collect停止流并将流中的值放入某种集合中,如列表。

toArray()

toArray()停止流并返回一个包含流中元素的数组。

发现者

在使用集合时,一个常见的任务是从流中获取元素。这些通常在筛选和映射之后使用,以确保找到的元素符合某些条件并且是首选类型。

findAny()

findAny()返回一个可选的流中包含一个元素(如果流为空,则不包含任何元素)。 这里不遵守顺序,特别是在并行流情况下。

findFirst()

findFirst()返回一个可选的包含流中的第一个元素(如果流为空,则不包含任何元素)。 使用此方法时,订单受到尊重

max(Comparator比较器)
max返回给定流的最大元素Comparator

min(Comparator比较器)
min返回给定流的最小元素Comparator

匹配器

另一个常见任务是确定对象是否满足某些给定条件。这些“匹配器”方法指示流中的某些,无对象或所有对象是否满足给定条件。

allMatch(Predicate pred)
返回true流中的所有元素是否与Predicate

anyMatch(Predicate pred)
返回true流中是否有任何元素与Predicate

noneMatch(Predicate pred)
返回true流中是否没有元素匹配Predicate

流修饰符

有时,信息流并不是完全“正确”的信息流。这些方法创建的新流的特征与旧流的特征略有不同,无论是不同的长度,不同的起点还是保证仅包含唯一对象。

exclude()
distinct()创建一个新流,其中仅包含不同元素(基于.equals

limit(int maxSize)
limit(maxSize)通过将原始流截断为不超过maxSize的方式来创建新流。

skip(long n)
跳过流的前n个元素,并从其余元素中创建一个新流

sorted()
创建一个新的流,其中元素按照自然顺序排序

sorted(Comparator比较器)

创建一个新的流,其中的元素按照比较器排序

流表征器

使用集合时,另一个常见的任务是确定整个集合的某些特征。流api提供了一种方法来确定给定流的大小。

count()
count()计算流中元素的数量

如果您愿意,请访问我的编程博客以获取更多提示和技巧。

原文链接: https://dev.to//monknomo/java-8-stream-cheatsheet--oad

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值