list拆分指定大小的list

该博客介绍了一个Java方法,用于将一个List对象按照指定大小进行批量拆分。方法名为`split`,接收一个List和一个整数参数,返回一个包含多个子List的List。在测试中,创建了一个包含字符串的List,并调用`split`方法将其拆分为大小为2的子List,然后遍历并打印输出拆分结果。
摘要由CSDN通过智能技术生成
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);
        }

    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值