/**
* 数组分割
*
* @param list 集合
* @param batchSize 批次大小
* @return
*/
public static <T> List<List<T>> split(List<T> list, int batchSize) {
//参数校验
if (list == null || list.isEmpty()) {
throw new RuntimeException("list集合不可以为空");
}
if (batchSize <= 0) {
throw new RuntimeException("batchSize不可以<=0");
}
List<List<T>> resultList = new ArrayList<>();
int i1 = list.size() / batchSize;
int i2 = i1 * batchSize + list.size() % batchSize;
if (i1 > 0) {
for (int i = 0; i < i1; i++) {
resultList.add(list.subList(i * batchSize, (i + 1) * batchSize));
}
}
if (list.size() % batchSize > 0) {
resultList.add(list.subList(i1 * batchSize, i2));
}
return resultList;
}
Java List集合按照一定大小的批次分割成多份
最新推荐文章于 2024-07-17 04:44:13 发布