是否可以使用 Java 中的 Stream API 返回分页结果?

Rom*_*kyi 2 java pagination java-8 java-stream

所以,我有Stream一些对象,我需要从Stream. 例如从第 2 到第 4 个元素。

Stream<String> strs = Stream.of("qwe", "asd", "zxc", "rty", "fgh", "vbn");
Run Code Online (Sandbox Code Playgroud)

并且仅从第 2 到第 4 个元素返回: asd, zxc, rty .

是否可以?

谢谢!

Jac*_* G. 10

为此,您可以Stream#skip结合使用Stream#limit

strs.skip(1).limit(3).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

这将输出以下内容:

asd
zxc
rty
Run Code Online (Sandbox Code Playgroud)

在这个例子中,Stream#skip跳过的所述第一元件StreamStream#limit限制其余Stream三个元件。