Steam流和lambda表达式

Steam流

Steam流是java 8 版本新增的,配合同版本出现的Lambda表达式 ,给我们操作集合(Collection)提供了极大的便利。Steam流Steam流

Steam流是什么?

Java 中可以使用 java.util.Stream 对一个集合(实现了java.util.Collection接口的类)做各种操作,例如:求和、过滤、排序等等。这些操作可能是中间操作——返回一个 Stream 流,或者是终端操作——返回一个结果。

同时,流操作不会影响原来的集合,也不会存储数据,可以简单认为,流操作是把集合中的一个元素逐个复制放到一个首尾相接的流动的容器中进行相应的操作,操作结束,容器消失;下一次操作再重复上述过程,这也就是说Steam是延迟执行的。

Stream 流支持同步执行,也支持并发执行。如果我们直接获取 stream 流,得到的是同步执行的 stream 流;如果调用方法 parallelStream,则得到一个可以并发执行的 Stream 流。可以说Stream 流极大的提高开发效率,也可以使用它写出更加简洁明了的代码。

需要注意的是:Map不支持 Stream 流,但是它的 Key 和 Value 支持,因为它们实现了 Set 接口。

好处

它可以大幅减少我们的代码量,并且会返回新的列表,不会改变原来的列表。如果不用,写法肯定是for循环套for循环,再new新的list来回转,非常麻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值