集合分批次(subList)
public List> splitList(List
List
//总批次个数
List> storeList = new ArrayList<>();
//定义的每个批次里面的数量
int pointsDataLimit = 100;
//取整
int pre;
//拆分逻辑
int totalCount = dataList.size();
//如果不足一个集合定义的数量
if (totalCount <= pointsDataLimit) {
storeList.add(dataList);
} else {
pre = totalCount / pointsDataLimit;
//前面每组的集合数
for (int i = 0; i < pre; i++) {
List
//之所以new一个新的,是因为下面clear,用subList会出现并发异常
List
storeList.add(tempList);
dataList.subList(0, pointsDataLimit).clear();
}
//表示最后剩下的数据 放到一组
if (!dataList.isEmpty()) {
storeList.add(dataList);
}
}
return storeList;
}
注意:ArrayList.subList注意点
https://blog.csdn.net/qq_38008721/article/details/115318073