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

直接看代码吧,有注释

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);
        }

    }
}

你可能感兴趣的:(Util,list,数据结构,java)