Java 提供的两种流

10 Sept 2024 | 4 分钟阅读

在 Java 中,流主要用于提供多种编程范式,这些范式用于以高效且简洁的方式进行数据处理。

Java 包含两种主要的流类型,它们是中间流终端流

让我们在接下来的段落中详细了解中间流和终端流。

中间流

中间流操作可以定义为用于将一个流转换为另一个流的操作。中间流的操作通常链接在一起,用于创建转换管道。此外,中间操作是惰性的,这意味着除非调用终端操作,否则它们不会完成执行。这种惰性评估在处理大数据集时,可以实现更高的处理效率。

让我们通过一个 Java 示例程序来了解 Java 中的中间流。

示例 1

文件名: IntermediateStreamsExample.java

输出

People aged 30 or older: [Person{name='Bob', age=35}, Person{name='Diana', age=30}]
Names in uppercase: [ALICE, BOB, CHARLIE, DIANA, EVA]
People sorted by age (descending): [Person{name='Bob', age=35}, Person{name='Diana', age=30}, Person{name='Alice', age=28}, Person{name='Eva', age=25}, Person{name='Charlie', age=22}]
Distinct ages: [28, 35, 22, 30, 25]

Java 中的终端流

在 Java 中,终端流操作可以定义为用于产生结果或副作用的操作。当激活或调用单个终端操作时,流将被消耗,并且不允许再对其应用任何操作。终端操作还用于触发整个流管道的评估。

让我们通过一个 Java 示例程序来了解 Java 中的中间流。

文件名: TerminalStreamsExample.java

输出

Printing each person's details:
Person{name='Alice', age=28}
Person{name='Bob', age=35}
Person{name='Charlie', age=22}
Person{name='Diana', age=30}
Person{name='Eva', age=25}
List of names: [Alice, Bob, Charlie, Diana, Eva]
Sum of ages: 140
Number of people: 5
Anyone older than 35? false
All younger than 40? true
None older than 40? true

以上是关于 Java 提供的两种流类型的所有必要信息和解释。