Java 8引入的Stream API彻底改变了集合处理的方式。它允许以声明式方式处理数据,并能自动并行化执行。本文将深入分析Stream的四种创建方式,并附详细示例。
一、通过集合创建
最直接的方式是通过集合的stream()方法:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream(); // 创建顺序流
Stream<String> parallelStream = list.parallelStream(); // 创建并行流
二、通过数组创建
使用Arrays.stream()静态方法:
int[] numbers = {1, 2, 3, 4, 5};
IntStream intStream = Arrays.stream(numbers);
三、使用Stream的静态方法
1. Stream.of()
Stream<String> stream = Stream.of("Java", "Python", "C++");
2. 生成无限流
Stream<String> endless = Stream.generate(() -> "item");
Stream<Integer> iterated = Stream.iterate(0, n -> n + 2);
四、通过IO通道创建
try (Stream<String> lines = Files.lines(Paths.get("file.txt"))) {
lines.forEach(System.out::println);
}
创建方式对比
|
创建方式 |
特点 |
适用场景 |
|
集合创建 |
最简单直接 |
现有的集合处理 |
|
数组创建 |
支持基本类型特化流 |
数组数据处理 |
|
静态方法 |
最灵活,可创建无限流 |
动态生成数据 |
|
IO通道 |
与IO操作紧密结合 |
文件内容处理 |
掌握不同Stream创建方式的特性和适用场景,能够让我们在开发中更加游刃有余地使用函数式编程范式,写出更简洁、高效的代码。

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



