欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据量过大需要分批次操作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);
        }
    }

数据量过大需要分批次操作List

相关标签: Java