将一个集合改装成多个集合的集合
在实际开发中,我们经常会遇到需要批量操作数据的情况,有时数据量极大,这样很有可能造成数据库连接超时,所以需要将一个list分成几次批量操作。
入参:
- sources ——> 原始集合
- n ——> 改成多少条数据为一个集合
public static <T> List<List<T>> fixedGrouping(List<T> source, int n) {
if (null == source || source.size() == 0 || n <= 0) {
return null;
}
List<List<T>> result = new ArrayList<List<T>>();
int sourceSize = source.size();
int size = (source.size() / n) + 1;
for (int i = 0; i < size; i++) {
List<T> subset = new ArrayList<T>();
for (int j = i * n; j < (i + 1) * n; j++) {
if (j < sourceSize) {
subset.add(source.get(j));
}
}
result.add(subset);
}
return result;
}