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;
}
无论风雨,和自己一决胜负吧