Java语言基础学习笔记(八)

本文介绍了Java8中Stream API的基本原则与工作流程,并详细解释了如何从集合或数组创建Stream,展示了无限Stream的生成方法及常用归约操作。此外还讨论了Optional类型的正确使用方式及其重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Java 8的Stream遵循”做什么,而不是怎么去做“的原则。

2. 使用Stream的典型工作流程:创建一个Stream->指定初始流转换或其他流的中间操作->应用终止操作产生结果。

3. 可以使用Collection接口的stream方法将任何集合转化为Stream。如果面对一个数组,使用静态方法Stream.of(),Stream.empty()可以产生空的Stream。

4. Stream.generate()和Stream.iterator()可以产生无限Stream。

5. 常见归约函数有:count,min,max,findFirst,findAny,anyMatch,allMatch,noneMatch。他们返回Optional<T>类型。

6. 使用Optional类型的关键在于:使用一个“要么如果值不存在就产生另一个替代者,要么如果值存在就是用该值”的方法

7. 如果你不能正确掌握实用Optional类型值,那么你无法从超越”对象存在或为null”的这种方式中获益。

8. 使用Optional.of() 和 Optional.empty()来创建Optional对象,Optional.ofNullable(obj)方法被设计为null和可选值之间的一座桥梁:如果obj不为null则返回Optional.of(obj)否则返回Optional.empty()

9. flatMap通过展开方法所返回的流,将两个方法组合起来。

10. 收集结果可以用forEach forEachOrdered来访问每一个结果。收集到数据结构中庸toArray() toArray(String::new),收集到容器用collect。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值