Java-大集合拆分为指定大小的小集合

/**
* 拆分集合
* @param <T>
* @param resList 要拆分的集合
* @param count 每个集合的元素个数
* @return 返回拆分后的各个集合
*/
public static <T> List<List<T>> splitList(List<T> resList, int count){

if(resList == null || count<1)
return null ;
List<List<T>> ret=new ArrayList<List<T>>();
int size=resList.size();
if(size<=count){ //数据量不足count指定的大小
ret.add(resList);
}else{
int pre = size/count;
int last = size%count;

for (int i = 0; i < pre; i++){
int start = i * 10;
int end = (i + 1) * 10;
List<T> subList = resList.subList(start,end);
System.out.println("subList:"+subList);
ret.add(subList);
}

//last的进行处理
if(last>0){
List<T> itemList=new ArrayList<T>();
for(int i=0;i<last;i++){
itemList.add(resList.get(pre*count+i));
}
ret.add(itemList);
}
}
return ret;

}
posted @ 2018-01-05 14:21  0xcafedaddy  阅读(475)  评论(0编辑  收藏  举报