ArrayList按指定大小分割集合


ArrayList按指定大小分割集合

项目中使用SpringDataJpa的使用,用到了批量操作,发现框架本身有限制,长度不能超过1000,所以就百度了一下,网上都说是分段处理,也有说用OR的,但数据过大的话,总是那么麻烦,下面模板,大家可以直接套用哈,根据自己业务可以进行修改,也是我本人网上拷贝的,不过用起来的确不错,防止丢失,我也在此记录一下,希望可以在各位苦恼之际,帮助到各位

模板

/**
 * 按指定大小,分隔集合,将集合按规定的个数分为n个部分
 * @param 
 * @param list list列表
 * @param len 长度
 * @return
 */
public static  List> splitList(List list, int len){
    if(list == null || list.size() == 0 || len<1) {
        return null;
    }

    List> result = new ArrayList>();
    int size = list.size();
    int count = (size + len -1)/len;
    for(int i=0; i subList = list.subList(i*len, ((i+1)*len > size ? size : len*(i+1)));
        result.add(subList);
    }
    return result;
}