ArrayList按指定大小分割集合

ArrayList按指定大小分割集合

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

模板

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

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

 

posted @ 2022-01-18 16:58  阿尔法哲  阅读(570)  评论(0编辑  收藏  举报