/**
* 按指定大小,分隔集合,將集合按規定個數分爲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;
}