Java中创建Stream有四种常见方式:1. 集合调用stream()或Arrays.stream()处理数组;2. 使用Stream.of()传入固定元素;3. Stream.iterate()通过起始值和函数生成规律无限流,常配合limit()使用;4. Stream.generate()基于Supplier创建随机或重复数据流,也需limit()控制数量;根据数据源选择合适方法可高效处理集合操作。
Java 中的 Stream 是处理集合数据的强大工具,支持函数式编程操作。创建 Stream 有多种方式,以下是四种常见的创建方法。
最常见的方式是通过集合(如 List、Set)调用 stream() 方法,或使用 Arrays.stream() 处理数组。
示例:Listlist = Arrays.asList("a", "b", "c");
Streamstream = list.stream();
String[] arr = {"x", "y", "z"};
Stream stream = Arrays.stream(arr); 当已有具体元素时,可直接使用 Stream.of() 快速创建流,适用于少量固定数据。
示例:Stream stream = Stream.of(1, 2, 3, 4); Stream stream = Stream.of("hello", "world"); iterate() 方法通过起始值和迭代函数生成无限序列,常用于生成等差数列等规律数据。
示例:Stream stream = Stream.iterate(0, n -> n + 2); // 0, 2, 4, 6... Stream.iterate(1, n -> n * 2).limit(5).forEach(System.out::println);
generate() 通过 Supplier 生成元素,适合创建随机数、常量或无规律数据流。
示例:Stream stream = Stream.generate(Math::random).limit(3); Stream stream = Stream.generate(() -> "data").limit(4); 基本上就这些。根据数据来源选择合适方式,集合用 stream(),固定值用 of(),规律生成用 iterate(),随机或重复用 generate()。不复杂但容易忽略细节。