List批量操作

public class batchTest {
    public static void main(String[] args) {
        //batchInsert1();
        batchInsert2();
    }   
    //批量操作
    private static void batchInsert1(){
        int total = 2222;
        int per = 300; //每次最多新增次数
        int num = total / per; //至少需要 7
        int temp = num * per; //7*300 2100
        int least = total - temp;//2222-2100  122至少
        List<String> list = new ArrayList<>();
        for (int i = 0; i < temp; i++) {
            //业务
            list.add(""+i);
            if ((i + 1) % per == 0){//每300插入一次
                batch(list);
                //清空
                list = new ArrayList<>();
            }
        }
        if (least != 0){ //<per 剩下99次插入
            //清空
            list = new ArrayList<>();
            for (int i  = temp;i < total; i++){
                //业务
                list.add(""+i);
            }
            batch(list);
        }
    }
    //批量操作2
    private static void batchInsert2(){
        int total = 2222;//
        int per = 300;//每次最多新增次数
        int least = total / per;// 分批 7
        int left = total % per;//剩下 122
        int index = 0;
        List<String> list = new ArrayList<>();
        if (least > 0) {
            for (int i = 0; i < least * per; i++) {
                list.add(""+i);
                if (((i + 1) % per) == 0) {
                    batch(list);
                    //清空
                    list = new ArrayList<>();
                }
            }
        }
        if (left != 0) {
            index = least * per;
            //清空
            list = new ArrayList<>();
            for (int i = index; i < total; i++) {
                list.add(""+i);
            }
            batch(list);
        }
    }

    private static void batch(List list){
        System.out.println("======>"+list.size());
    }
}

输出
======>300
======>300
======>300
======>300
======>300
======>300
======>300
======>122
posted @   EmptyJar  阅读(175)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示