Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。
Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。
这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。
元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。
首先我们需要明确流的三个操作,创建流,中间流,关闭流。
1.创建流的两种主要方式:通过集合或数组创建
集合创建:
List list = new ArrayList();
list.stream();
数组创建:
int[] arr = new int[5];
Stream.of(arr);
后续通过链式调用进行中间操作。
2.中间流主要分为两种:中间操作符、终端操作符
此处图片引用地址(Java--Stream流详解-CSDN博客)
中间操作符:
终端操作符:
steam流执行终端操作符之后,无法再执行其他操作。终端操作符的执行才会真正开始流的遍历(collect)。
三、流的收集
Collector:结果收集策略的核心接口,具备将指定元素累加存放到结果容器中的能力;并在Collectors工具中提供了Collector接口的实现类
toList、toMap、toSet等等,将元素放到指定的集合中