把一个list分割成多个小的list

 

在对Oracle数据库表使用 in() 查询的时候,in() 中的数据不能超过 1000 条的限制,

这时候我们就要在程序中对数据进行分割,分割成多个小于 1000 条的数据集,进行多次查询。

下面就是分割的代码:

   
    public static List<List<String>> groupList(List<String> list) {
        List<List<String>> listGroup = new ArrayList<List<String>>();
        int listSize = list.size();
        //子集合的长度,比如 500
        int toIndex = 500;
        for (int i = 0; i < list.size(); i += 500) {
            if (i + 500 > listSize) {
                toIndex = listSize - i;
            }
            List<String> newList = list.subList(i, i + toIndex);
            listGroup.add(newList);
        }
        return listGroup;
    }
 

 分割完后并不能直接用于sql语句,所以需要转换一下格式,遍历一下分割后的list,把list内存储的

数据拼接成字符串就可以了。

转载于:https://www.cnblogs.com/DongJiaxin/p/10576811.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值