Java语言基础学习笔记(八)
2017-09-20 21:35
393 查看
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。
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。
相关文章推荐
- Java语言基础学习笔记——基础语法
- JAVA学习笔记——第三章 Java语言基础
- Java2核心技术第七版的学习笔记(三) Fundamental Programming Structures in Java(Java语言的基础)(四):
- 学习笔记 Java语言基础 2014.7.9
- Java2核心技术第七版的学习笔记(三) Fundamental Programming Structures in Java(Java语言的基础)(一)
- Java学习笔记 第二章 Java语言基础
- Java学习笔记-2.Java语言基础
- 黑马程序员——JAVA学习笔记——语言基础
- Java学习笔记:语言基础
- 传智博客学习笔记16--JAVA SCRIPT HTML语言基础
- 黑马程序员-Java语言基础学习笔记
- Java学习笔记之语言基础―― Java中浮点数除0问题
- Java面对对象编程---学习笔记(JAVA语言基础)
- 学习笔记 Java_毕向东_语言基础_程序流程控制 2014.7.29
- Java学习笔记之语言基础――Java中的参数传递
- Java2核心技术第七版的学习笔记(三) Fundamental Programming Structures in Java(Java语言的基础)(三)
- Java学习笔记(一、Java语言基础)
- Java学习笔记之语言基础—— 浮点数的取模运算
- 黑马程序员——学习笔记02.java的语言基础
- C#学习笔记(有C,C++,JAVA语言基础)