Lsit集合数据多段化处理
public List<List<OriginalDataAdvProductadsReport>> splitlist(List<OriginalDataAdvProductadsReport> resList, int count) { if (resList == null || count < 1) { return null; } List<List<OriginalDataAdvProductadsReport>> ret = new ArrayList<List<OriginalDataAdvProductadsReport>>(); int size = resList.size(); if (size <= count) { //数据量不足count指定的大小 ret.add(resList); } else { int pre = size / count; int last = size % count; //前面pre个集合,每个大小都是count个元素 for (int i = 0; i < pre; i++) { List<OriginalDataAdvProductadsReport> itemList = new ArrayList<OriginalDataAdvProductadsReport>(); for (int j = 0; j < count; j++) { itemList.add(resList.get(i * count + j)); } ret.add(itemList); } //last的进行处理 if (last > 0) { List<OriginalDataAdvProductadsReport> itemList = new ArrayList<OriginalDataAdvProductadsReport>(); for (int i = 0; i < last; i++) { itemList.add(resList.get(pre * count + i)); } ret.add(itemList); } } return ret; }
//调用语句 List<List<OriginalDataAdvProductadsReport>> listListPageDatas = splitlist(list,5000);