把一个List拆分为几个大小一样的List,通过参数可以调整分成的list的多少
/***
* 拆分list列表
* @param list
* @param limit
* @return
*/
public static List<List<?>> split(List<?> list, int limit) {
List<List<?>> all = new ArrayList<>();
if (list == null) return all;
int total = list.size();
int page = total % limit == 0 ? total / limit : total / limit + 1;
for (int i = 0; i < page; i++) {
int start = i * limit;
int end = start + limit;
if (i == page - 1) {
end = total - 1;
}
all.add(list.subList(start, end));
}
return all;
}