最近处理一个需求,需要将一批数据入库,处理的时候发现数据量超级大,于是就将批数据进行分割分批处理。
直接上码
样式超赞好看的原文链接原文链接:jdk8 stream list分割 切割 分批次处理工具类blog.csdn.net
package com.store.common.utils;
import java.util.*;
import java.util.stream.Collectors;
public class CommonUtil {
/**
* 计算切分次数
* @param size 需要分割的集合长度
* @param maxNum 集合最大的数量
* @param
* @return 切分次数
*/
private static Integer countStep(Integer size, Integer maxNum) {
return (size + maxNum - 1) / maxNum;
}
/**
* 将一个集合进行分割
* @param collections 需要分割的集合 (List LinkedHashSet TreeSet LinkedList)
* @param maxNum 集合最大的数量
* @param
* @return 分割后的集合
*/
public static Collection> subCollection(Collection collections, int