public class ListSplitUtil {
/**
* @param list 要拆分的list
* @param size 每次拆分的大小
* @param <T>
* @return
*/
public static <T> List<List<T>> split(List<T> list, int size) {
if (list == null || list.size() == 0) {
return null;
}
// 获得数据总量
int count = list.size();
// 计算出要分成几个批次
int pageCount = (count / size) + (count % size == 0 ? 0 : 1);
List<List<T>> temp = new ArrayList<>(pageCount);
for (int i = 0, from = 0, to = 0; i < pageCount; i++) {
from = i * size;
to = from + size;
// 如果超过总数量,则取到最后一个数的位置
to = to > count ? count : to;
// 对list 进行拆分
List<T> list1 = list.subList(from, to);
// 将拆分后的list放入大List返回
temp.add(list1);
// 也可以改造本方法,直接在此处做操作
}
return temp;
}
}
测试:
public class demo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("1");
list.add("q");
list.add("2");
list.add("b");
list.add("3");
List<List<String>> split = ListSplitUtil.split(list, 2);
for (List<String> l:split) {
System.out.println(l);
}
}
}
list拆分指定大小的list
最新推荐文章于 2024-04-28 16:48:44 发布
该博客介绍了一个Java方法,用于将一个List对象按照指定大小进行批量拆分。方法名为`split`,接收一个List和一个整数参数,返回一个包含多个子List的List。在测试中,创建了一个包含字符串的List,并调用`split`方法将其拆分为大小为2的子List,然后遍历并打印输出拆分结果。
摘要由CSDN通过智能技术生成