/**
* 按指定大小,分隔集合,将集合按规定个数分为n个部分
*
* @param list
* @return
*/
public static <T> List<List<T>> splitList(List<T> list) {
//数据库批量操作1000条数据会报错在in的情况下,
int len = 995;
//判断非空
if (list == null || list.isEmpty() || len < 1) {
return Collections.emptyList();
}
//声明返回对象存值
List<List<T>> result = new ArrayList<>();
int size = list.size();
//计算循环次数
int count = (size + len - 1) / len;
for (int i = 0; i < count; i++) {
List<T> subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
result.add(subList);
}
return result;
}