数据量过大需要分批次操作List
程序员文章站
2024-01-26 22:06:29
...
数据量过大需要分批次操作List
Common Util:
private <T> List<List <T>> splitList(List<T> sourceList, int groupSize) {
int length = sourceList.size();
int num = (length + groupSize - 1) / groupSize;
List<List<T>> targetList = new ArrayList<>(num);
for (int i = 0; i < num; i++) {
// start index
int fromIndex = i * groupSize;
// end index
int toIndex = (i + 1) * groupSize < length ? (i + 1) * groupSize : length;
targetList.add(sourceList.subList(fromIndex, toIndex));
}
return targetList;
}
Test:
@Test
public void testSplitList(){
List list = new ArrayList();
list.add("1111");
list.add("2222");
list.add("3333");
list.add("4444");
list.add("5555");
list.add("6666");
list.add("7777");
list.add("8888");
list.add("9999");
List<List> lists = splitList(list, 5);
for (List list1 : lists) {
System.out.println(list1);
}
}
上一篇: MySQL latin1 编码 转 utf-8 格式
下一篇: JS全局变量
推荐阅读