【问题标题】:Is it possible return paginated result usin Stream API in Java? [duplicate]是否可以在 Java 中使用 Stream API 返回分页结果? [复制]
【发布时间】:2019-09-10 23:27:50
【问题描述】:
所以,我有一个带有一些对象的Stream,我需要从Stream 返回分页结果。例如从第 2 到第 4 个元素。
Stream<String> strs = Stream.of("qwe", "asd", "zxc", "rty", "fgh", "vbn");
并且只返回第 2 到第 4 个元素:asd, zxc, rty。
有可能吗?
谢谢!
【问题讨论】:
标签:
java
java-8
pagination
java-stream
【解决方案1】:
您可以使用skip 和limit
Stream<String> strs = Stream.of("qwe", "asd", "zxc", "rty", "fgh", "vbn");
String result=strs.skip(1).limit(3).collect(Collectors.joining(" "));
System.out.println(result);
输出:
asd zxc rty
【解决方案2】:
为此,您可以将Stream#skip 与Stream#limit 结合使用:
strs.skip(1).limit(3).forEach(System.out::println);
这将输出以下内容:
asd
zxc
rty
在此示例中,Stream#skip 跳过了Stream 的第一个元素,Stream#limit 将剩余的Stream 限制为三个元素。