对list集合拆分的工具类:
public class ListSplitUtil {
/**
* 对list进行拆分
*
* @param source 需要被拆分的集合
* @param length 拆分集合的长度
* @param <T> 泛型
* @return 拆分结果
*/
public static <T> List<List<T>> spitList(List<T> source, int length) {
List<List<T>> result = new ArrayList<>();
if ( IrCollectionUtil.isEmpty(source)) {
return result;
}
int size = source.size();
if (size <= length) {
result.add(source);
return result;
}
while (size > length) {
List<T> ts = source.subList(0, length);
result.add(ts);
List<T> ts1 = source.subList(length, size);
source = ts1;
size = source.size();
}
result.add(source);
return result;
}
}