List如何取100条数据

在开发环境中,如果线上数据太多,都放在了一个list里面,那么对list去进行操作的时候,可能就会边得很缓慢,尤其是当一个list数据达到上万条时,批量的去对数据库进行更新或删除操作,就会造成数据库等一系列问题。

前段时间,由于线上代码批量修改数据过大(也就是list集合里面数据量太大),导致了数据库死锁问题。所以可以将list中的数据进行分段,让它们分批次的来进行。即每100条进行操作一次

    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < 526; i++) {
            list.add(i);
        }
        List<Integer> newList = new ArrayList<>();
        int toIndex = 100;
        // 装填100条数据
        for (int i = 0; i < list.size(); i += 100) {
            if (i + 100 > list.size()) {
                // 注意下标问题
                toIndex = list.size() - i;
            }
            newList = list.subList(i, i + toIndex);
            //自己代码逻辑对分隔后的newList集合进行操作
            System.out.println(newList);
        }
    }

测试结果:

posted @ 2022-02-19 13:45  小猪不会叫  阅读(73)  评论(0)    收藏  举报  来源