java中stream api创建流主要有四种方式:一是集合调用stream()或parallelstream()获取顺序/并行流;二是数组用arrays.stream()(基本类型)或stream.of()(引用类型);三是stream.iterate()、stream.generate()生成无限流;四是files.lines()读取文件行。

Java 中 Stream API 将集合转为流非常直接,核心是调用集合对象的 stream() 方法 —— 这是最常用、最自然的方式。
使用 Collection.stream() 获取顺序流
所有实现了 Collection 接口的集合(如 ArrayList、HashSet、LinkedList)都内置了 stream() 方法:
- List
list = Arrays.asList("a", "b", "c"); - Stream
stream = list.stream(); // 返回顺序流
该流默认按集合原有顺序处理元素,适合大多数场景。
用 parallelStream() 获取并行流(需谨慎)
同样来自 Collection 接口,parallelStream() 可返回并行流,底层基于 ForkJoinPool:
- Stream
parallel = numbers.parallelStream();
注意:并行流不保证执行顺序,且有额外开销。仅当数据量大、操作耗时(如复杂计算)、无状态且线程安全时才考虑使用。
数组转流:Arrays.stream() 和 Stream.of()
数组不是集合,不能直接调用 stream(),需借助工具方法:
- int[] arr = {1, 2, 3};
- IntStream stream1 = Arrays.stream(arr); // 基本类型数组用 Arrays.stream
- String[] strs = {"x", "y"};
- Stream
stream2 = Stream.of(strs); // 引用类型数组用 Stream.of
其他常见来源(非集合)
流还可从多种源头创建,补充说明几种实用方式:
- Stream.iterate(0, n -> n + 2).limit(5); // 生成偶数流:0,2,4,6,8
- Stream.generate(Math::random).limit(3); // 生成 3 个随机数
- Files.lines(Paths.get("file.txt")); // 读取文件行转流(需 try-with-resources)
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











