public static <T> List<List<T>> splitToList(List<T> dataList, int size) {
//校验size是否大于0
if (size <= 0) {
throw new IllegalArgumentException("参数size: "+size+" 必须大于0");
}
List<List<T>> result = new ArrayList<>();
//若dataList长度小于size
if (dataList.size() <= size) {
result.add(dataList);
return result;
}
//循环分割
int dateSize = 0;
List<T> tempDate = new ArrayList<>();
for (T date : dataList) {
tempDate.add(date);
dateSize++;
if (dateSize == size) {
result.add(tempDate);
tempDate = new ArrayList<>();
dateSize = 0;
}
}
//处理末端不完全数据
if (!CollectionUtils.isEmpty(tempDate)) {
result.add(tempDate);
}
return result;
}
Java功能模块笔记-按照特定大小分割List
最新推荐文章于 2024-04-18 15:24:36 发布