/**
* 泛型方法 切割list
*
* @param collection 被切割List
* @param maxSize 切割成几块
* @param splitSize 每块多少条
* @param <T>
* @return
*/
public static <T> List<List<T>> splitList(List<T> collection, int maxSize, int splitSize) {
if (org.springframework.util.CollectionUtils.isEmpty(collection)) {
return Collections.emptyList();
}
return Stream.iterate(0, f -> f + 1)
.limit(maxSize)
.parallel()
.map(a -> collection.parallelStream().skip(a * splitSize).limit(splitSize).collect(Collectors.toList()))
.filter(b -> !b.isEmpty())
.collect(Collectors.toList());
}