java
复制代码
package com.jiayou.peis.report.biz.utils;
import org.apache.poi.ss.formula.functions.T;
import java.util.ArrayList;
import java.util.List;
public class SplitListUtil {
/**
* 拆分集合
* @param resultList 原集合
* @param count 指定的长度
* @return resultLists 拆分后的集合
*/
public static List<List<String>> splitList(List<String> resultList, int count) {
// 判断拆分的集合是否为空,或者拆分大小是否小于1,如果是,无法拆分
if (resultList == null || count < 1) {
return null;
}
List<List<String>> resultLists = new ArrayList<>();
int size = resultList.size();
// 判断集合是否大于拆分的长度,大于拆分,小于直接把原集合存入总集合
if (size > count) {
int pre = size / count;
int last = size % count;
//前面pre个集合,每个集合大小都是count个元素
for (int i = 0; i < pre; i++) {
List<String> itemList = new ArrayList<>();
for (int j = 0; j < count; j++) {
itemList.add(resultList.get(i * count + j));
}
resultLists.add(itemList);
}
// 处理剩余不足count大小的数据
if (last > 0) {
List<String> itemList = new ArrayList<>();
for (int i = 0; i < last; i++) {
itemList.add(resultList.get(pre * count + i));
}
resultLists.add(itemList);
}
} else {
resultLists.add(resultList);
}
return resultLists;
}
}