使用stream 分割List为形同大小的集合
public static <T> List<List<T>> splitList(List<T> list, long splitSize) {
//判断集合是否为空
if (CollectionUtils.isEmpty(list))
return Collections.emptyList();
//计算分割后的大小
long maxSize = (list.size() + splitSize - 1) / splitSize;
//开始分割
return Stream.iterate(0, n -> n + 1)
.limit(maxSize)
.parallel()
.map(a -> list.parallelStream().skip(a * splitSize).limit(splitSize).collect(Collectors.toList()))
.filter(b -> !b.isEmpty())
.collect(Collectors.toList());
}
版权声明:本文为qq_41754735原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。