如何在Java 8中附加两个Streams?

Bas*_*ian 6 append java-8 java-stream

假设我有两个相同类型的流.是否可以将一个流附加到另一个流而不事先将它们转换为列表?

例:

Stream<MyClass> ms = ...;
Stream<MyClass> ns = ...;
return ms.append(ns);
Run Code Online (Sandbox Code Playgroud)

ski*_*iwi 12

是.

使用Stream.concat(stream1, stream2),这将创建一个流,首先包含元素,stream1然后是元素stream2,如果要维护排序.还要注意,所有应用的谓词等仍然在每个流的基础上工作,它们不会自动保持两个流的串联.