最后
作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料
- 创建 Stream
一个数据源(如: 集合、数组), 获取一个流。
- 中间操作
一个中间操作链,对数据源的数据进行处理。
- 终止操作(终端操作)
一个终止操作,执行中间操作链,并产生结果 。
Java8 中的 Collection 接口被扩展,提供了两个获取流的方法:
1.获取Stream
-
default Stream stream() : 返回一个顺序流
-
default Stream parallelStream() : 返回一个并行流
2.由数组创建Stream
Java8 中的 Arrays 的静态方法 stream() 可以获取数组流:
- static Stream stream(T[] array): 返回一个流
重载形式,能够处理对应基本类型的数组:
-
public static IntStream stream(int[] array)
-
public static LongStream stream(long[] array)
-
public static DoubleStream stream(double[] array)
3.由值创建流
可以使用静态方法 Stream.of(), 通过显示值创建一个流。它可以接收任意数量的参数。
- public static Stream of(T… values) : 返回一个流
4.由函数创建流
由函数创建流可以创建无限流。
可以使用静态方法 Stream.iterate() 和Stream.generate(), 创建无限流 。
- 迭代
public static Stream iterate(final T seed, final UnaryOperator f)
- 生成
public static Stream generate(Supplier s)
多个中间操作可以连接起来形成一个流水线,除非流水线上触发终止操作,否则中间操作不会执行任何的处理!而在终止操作时一次性全部处理,称为“惰性求值”
1.筛选与切片
2.映射
3.排序
终端操作会从流的流水线生成结果。其结果可以是任何不是流的值,例如: List、 Integer,甚至是 void 。
1.查找与匹配
2.规约
最后
码字不易,觉得有帮助的可以帮忙点个赞,让更多有需要的人看到
又是一年求职季,在这里,我为各位准备了一套Java程序员精选高频面试笔试真题,来帮助大家攻下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考
以下是部分内容截图