实现思路: list按sublist的大小截成一定的份数,然后放到一个数组里面, 一下是一个demo例子:
public List<List<String>> getSubLists(List<String> allData, int size) {
List<List<String>> result = new ArrayList();
for (int begin = 0; begin < allData.size(); begin = begin + size) {
int end = (begin + size > allData.size() ? allData.size() : begin + size);
result.add(allData.subList(begin, end));
}
return result;
}
更具sublist 方法获取阶段后的list
java List(分割)分批处理
public static void main(String[] args) {
List<Integer> dataList = new ArrayList<Integer>();
for(int i=0;i<12888;i++)
dataList.add(i);
//分批处理
if(null!=dataList&&dataList.size()>0){
int pointsDataLimit = 1000;//限制条数
Integer size = dataList.size();
//判断是否有必要分批
if(pointsDataLimit<size){
int part = size/pointsDataLimit;//分批数
System.out.println("共有 : "+size+"条,!"+" 分为 :"+part+"批");
//
for (int i = 0; i < part; i++) {
//1000条
List<Integer> listPage = dataList.subList(0, pointsDataLimit);
System.out.println(listPage);
//剔除
dataList.subList(0, pointsDataLimit).clear();
}
if(!dataList.isEmpty()){
System.out.println(dataList);//表示最后剩下的数据
}
}else{
System.out.println(dataList);
}
}else{
System.out.println("没有数据!!!");
}
}