/**
*
* @param listObj 原来的大List
* @param groupNum 分隔成小List中,每个小List的元素的个素数
* @param <T>
* @return
*/
public static <T> List<List<T>> getSubList(List<T> listObj, int groupNum) {
List<List<T>> resultList = new ArrayList<List<T>>();
// 获取需要拆分的List个数
int loopCount = (listObj.size() % groupNum == 0) ? (listObj.size() / groupNum) : ((listObj.size() / groupNum)+1);
// 开始拆分
for (int i = 0; i < loopCount; i++) {
// 子List的起始值
int startNum = i * groupNum;
// 子List的终止值
int endNum = (i+1) * groupNum;
// 不能整除的时候最后一个List的终止值为原始List的最后一个
if (i == loopCount - 1) {
endNum = listObj.size();
}
// 拆分List
List<T> listObjSub = listObj.subList(startNum, endNum);
// 保存差分后的List
resultList.add(listObjSub);
}
return resultList;
}
版权声明:本文为wanghang88原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。