List<String> testList = Arrays.asList("aaa", "bbb", "ccc", "ddd", "eee", "fff", "ggg", "hhh", "iii", "jjj", "kkk");
int pageSize = 3;
int limit = (testList.size() + pageSize - 1) / pageSize;
Stream.iterate(0, n -> n + 1).limit(limit).parallel().forEach(n ->
// 输出每次分割结果
System.out.println(
String.join(",",
testList.stream()
.skip(n * pageSize)
.limit(pageSize)
.parallel()
.collect(Collectors.toList())
)
)
);
// 也可以直接封装成集合
List<List<String>> pageList = Stream.iterate(0, n -> n + 1).limit(limit).parallel()
.map(n -> testList.stream()
.skip(n * pageSize)
.limit(pageSize)
.parallel()
.collect(Collectors.toList())
)
.collect(Collectors.toList());
java 8 Stream 分割集合
最新推荐文章于 2024-08-23 00:40:55 发布
本文介绍了如何使用Java 8 Stream API对字符串列表进行分页操作,展示了iterate和limit方法的结合,以及将结果转换为List和Map两种形式。核心内容涉及流API的高级用法及实际项目中的数据分页应用。
摘要由CSDN通过智能技术生成