List拆分多个子list的方法

public static <T> List<List<T>> split(List<T> sourceList, int count) {
List<List<T>> resultList = new ArrayList<>();
int size = sourceList.size();
if (size <= count) {
resultList.add(sourceList);
} else {
int listCount = size / count;
int last = size % count;
for (int i = 0; i < listCount; i++) {
List<T> itemList = new ArrayList<T>();
for (int j = 0; j < count; j++) {
itemList.add(sourceList.get(i * count + j));
}
resultList.add(itemList);
}
if (last > 0) {
List<T> itemList = new ArrayList<T>();
for (int i = 0; i < last; i++) {
itemList.add(sourceList.get(listCount * count + i));
}
resultList.add(itemList);
}
}
return resultList;
}

猜你喜欢

转载自www.cnblogs.com/wzhw2015/p/12381787.html
今日推荐