Stream概念介绍
Stream 不是集合,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator。Stream(流)是一个来自数据源的元素队列并支持聚合操作,并且有串行、并行两种执行模式,并行模式充分的利用了多核处理器的优势,使用fork/join框架进行了任务拆分,同时提高了执行速度。
Stream的创建
- 集合创建
List<Integer> list = new ArrayList<>();
Stream<Integer> stream = list.stream(); // 返回一个顺序流
Stream<Integer> stream2 = list.parallelStream(); // 返回一个并行流
- 数组创建
int[] array = {
1,2,3,4,5};
IntStream intStream = Arrays.stream(array);
- 枚举创建(值创建)
Stream<Integer> integerStream = Stream.of(1, 2, 3, 4, 5, 6, 7, 8);
- 函数创建
// Stream.iterate() 和 Stream.generate()创建无限流
Stream.generate(Math::random).limit(5).forEach(System.out::print);
List