一、描述
JKD1.8新增的接口,可以实现对数组、集合等类似于spark算子的所有操作。
二、创建Stream对象
// 1.通过数组创建
String[] arr = {"a", "b", "c", "d", "e"};
Stream<String> streamArr = Stream.of(arr);
// 2.通过集合创建
Collection<String> collection = Arrays.asList("a", "b", "c", "d", "e");
Stream<String> streamCollection = collection.stream();
// 3.通过Stream.generate()
Stream<Integer> generate = Stream.generate(() -> 1);
// 4.通过Stream.iterate()
Stream<Integer> integerStream = Stream.iterate(1, x -> x + 1);
最常用的是前两种。
三、并行流的使用
Stream接口的并行流的使用:
/**
* parallel()方法是Stream接口的并行流
*/
Optional<Integer> max = Stream.iterate(1, x -> x + 1).limit(200).peek(x -> {
System.out.println(Thread.currentThread().getName());
}).parallel().max(Integer::compareTo);
System.out.println(max);

本文介绍 Java 8 中新增的 Stream API 的使用方法,包括如何通过不同方式创建 Stream 对象,以及如何使用并行流提高处理效率。示例展示了从数组和集合创建 Stream 的过程,并介绍了使用 Stream.generate 和 Stream.iterate 方法生成无限序列的方法。
1万+

被折叠的 条评论
为什么被折叠?



