取出list中指定数量数据操作,操作完了删除这些数据

直接看代码吧,有注释

java 复制代码
package com.ep.crm.task;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        // 生成随机整数
        Random random = new Random();
        for (int i = 0; i < 100; i++) {
            // 生成一个随机整数
            int randomNumber = random.nextInt();
            list.add(String.valueOf(randomNumber));
        }
        // 每次操作指定数量数据,直到list操作完关闭
        while (!list.isEmpty()) {
            System.out.println("原本" + list);
            // 需要操作的数据,这里每次操作50条
            int batchSize = Math.min(50, list.size());
            // 取出数据放到新的list当中
            List<String> firstBatch = new ArrayList<String>(list.subList(0, batchSize));
            // 操作取出的数据 firstBatch

            // ...... 具体业务

            // 移除已经取出的数据
            list.subList(0, batchSize).clear();
            // 对前100条数据进行操作
            System.out.println("取出的数据" + firstBatch);

            System.out.println("取完剩余数据" + list);
        }

    }
}
相关推荐
学海无涯书山有路11 分钟前
Android FragmentContainerView 新手详解(Java 版)
android·java·开发语言
XiYang-DING1 小时前
【Java SE】数据类型、变量、类型转换、运算符以及程序逻辑控制
java·开发语言
闻哥1 小时前
Redis 避坑指南:从命令到主从的全链路踩坑实录
java·数据库·redis·缓存·面试·springboot
Jinkxs1 小时前
基于 Java 的消息队列选型年度总结:RabbitMQ、RocketMQ、Kafka 实战对比
java·kafka·java-rocketmq·java-rabbitmq
独自破碎E1 小时前
JDK版本的区别
java·开发语言
谦宸、墨白2 小时前
从零开始学C++:二叉树进阶
开发语言·数据结构·c++
悟空码字2 小时前
SpringBoot深度整合高德地图,构建高性能位置服务
java·springboot·高德地图·编程技术·后端开发
千金裘换酒2 小时前
栈和队列定义及常用语法 LeetCode
java·开发语言
0x533 小时前
JAVA|智能无人机平台(二)
java·开发语言·无人机
JH30733 小时前
SpringBoot自定义启动banner:给项目加个专属“开机画面”
java·spring boot·后端