java8中的Stream流API

java8中的Stream流API

1.理解

java8中stream时对数据源进行一系列的操作,最终返回一个流
stream

  • 不会储存数据
  • 不改变源数据
  • 操作是延迟执行的,会等到需要结果的时候才执行

2.操作步骤

  • 创建Stream
  • 中间对数据的操作
  • 终止操作

3.创建流

3.1 通过Collection提供的方法

3.1.1 stream()方法

串行流
在这里插入图片描述

3.1.2 parallelStream()方法

并行流

3.2 通过Arrays的stream()方法

在这里插入图片描述

3.3 通过Stream类中的静态方法of()

在这里插入图片描述

3.4 无限流

3.4.1 迭代

按照初始值为0和+2的运算规则,无限创建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.2 生成

使用供给型函数接口,无限生成随机数
在这里插入图片描述

4.中间操作

中间操作只有在终止操作执行时一次性全部处理
在这里插入图片描述

4.1筛选和切片

在这里插入图片描述
在这里插入图片描述

4.2映射

在这里插入图片描述
将每个字符都大写
在这里插入图片描述
将employees集合中的每个元素都进行一次getName的操作
在这里插入图片描述
flatMap是将所有元素都抽取出来统一放到一个流中

4.3 排序

在这里插入图片描述

在这里插入图片描述
自然排序
在这里插入图片描述
在这里插入图片描述
自定义排序
在这里插入图片描述
在这里插入图片描述

5.终止操作

在这里插入图片描述

5.1 allMatch

在这里插入图片描述

5.2 anyMatch

在这里插入图片描述

5.3noneMatch

在这里插入图片描述

5.4 findFirst

返回一个optional容器
在这里插入图片描述

5.5 findAny

在这里插入图片描述

5.6 count

在这里插入图片描述

5.7 max

在这里插入图片描述

5.8 min

在这里插入图片描述

5.9 归约 reduce

在这里插入图片描述
给定一个初始值,将集合中元素求和
在这里插入图片描述
没有起始值的reduce为防止返回值为空,返回值类型为optional
求公司中所有员工的工资总和
在这里插入图片描述
map与reduce的结合被称为map-reduce模式

5.10 收集 collect

在这里插入图片描述
传入类型为collector,可以用collecetors工具类调用静态方法传入
返回所有员工的姓名,并封装到list中。
在这里插入图片描述
l利用set特性去重
在这里插入图片描述
传入特定集合
在这里插入图片描述
其余方法:
总数
平均值
总和
最大值
最小值
分组
在这里插入图片描述
在这里插入图片描述
多级分组
在这里插入图片描述
根据条件分区,满足条件和不满足条件
在这里插入图片描述
字符拼接
在这里插入图片描述
三个参数分别为分割,最前面,最后面的字符
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Guesshat/article/details/113072107