国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大集合按照指定長(zhǎng)度進(jìn)行分割成多個(gè)小集合,用于批量多次處理數(shù)據(jù)

這篇具有很好參考價(jià)值的文章主要介紹了大集合按照指定長(zhǎng)度進(jìn)行分割成多個(gè)小集合,用于批量多次處理數(shù)據(jù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

????????通常我們對(duì)集合的更新或者保存都需要用集合來(lái)承載通過(guò)插入的效率,但是這個(gè)會(huì)遇到一個(gè)問(wèn)題就是你不知道那天那個(gè)集合的數(shù)量可能就超了,雖然我們連接數(shù)據(jù)庫(kù)進(jìn)行批量提交會(huì)在配置上配置allowMultiQueries=true,但是太長(zhǎng)了也一樣會(huì)會(huì)報(bào)錯(cuò),這樣我們就只能分批查詢或者分批插入,需要把大集合拆分成小集合數(shù)據(jù),希望接下來(lái)的案例可以幫到您。

??拆分案例

    //大集合分割成小集合
    @Test
    public void sliceListTest(){
        List<Order> orderList = new ArrayList<>();
        //模擬需要查詢出來(lái)的數(shù)據(jù)進(jìn)行批量處理
        for (int i = 0; i < 10500; i++) {
            Order order = new Order();
            order.setId(System.currentTimeMillis());
            order.setOrderNo(UUID.randomUUID().toString());
            orderList.add(order);
        }
        //返回要求的小集合數(shù)據(jù)內(nèi)容
        List<List<Order>> lists = sliceList(1000, orderList);
        for (List<Order> list : lists) {
            //小集合的數(shù)據(jù)
            List<Order> orders = list;
            //按照自己的業(yè)務(wù)處理邏輯,我這邊就打印長(zhǎng)度
            System.out.println(orders.size());
        }
    }

    /**
     * 集合拆分
     * @param batchSize 小集合的容量
     * @param list 大集合
     * @param <T> 泛型
     * @return
     */
    public static <T> List<List<T>> sliceList(int batchSize, List<T> list) {
        List<List<T>> batches = new ArrayList<>();
        for (int i = 0; i < list.size(); i += batchSize) {
            int end = Math.min(i + batchSize, list.size());
            List<T> batch = list.subList(i, end);
            batches.add(batch);
        }
        return batches;
    }

大集合按照指定長(zhǎng)度進(jìn)行分割成多個(gè)小集合,用于批量多次處理數(shù)據(jù),Mybatis使用,java進(jìn)階,數(shù)據(jù)庫(kù),java,開(kāi)發(fā)語(yǔ)言

??拆分的核心代碼

核心代碼 : 大集合分割成小集合,這里使用到泛型T,這樣我們就可以把該方法提供成公共方法,由調(diào)用方?jīng)Q定把集合拆成多大。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-691758.html

    public static <T> List<List<T>> sliceList(int batchSize, List<T> list) {
        List<List<T>> batches = new ArrayList<>();
        for (int i = 0; i < list.size(); i += batchSize) {
            int end = Math.min(i + batchSize, list.size());
            List<T> batch = list.subList(i, end);
            batches.add(batch);
        }
        return batches;
    }

到了這里,關(guān)于大集合按照指定長(zhǎng)度進(jìn)行分割成多個(gè)小集合,用于批量多次處理數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • RANSAC(Random Sample Consensus)對(duì)點(diǎn)云進(jìn)行多個(gè)平面的分割并可視化(附python代碼)

    使用 RANSAC(Random Sample Consensus)算法對(duì)點(diǎn)云進(jìn)行多個(gè)平面的分割,并進(jìn)行可視化。下面是對(duì)代碼的逐行解釋: pcd = o3d.io.read_point_cloud(\\\"xxx.pcd\\\") :從文件中讀取點(diǎn)云數(shù)據(jù),并將其存儲(chǔ)在變量? pcd ?中。 segment = [] :創(chuàng)建一個(gè)空列表,用于存儲(chǔ)分割結(jié)果的點(diǎn)云片段。 min_num = 15 :每

    2024年02月10日
    瀏覽(21)
  • 31 對(duì)集合中的字符串,按照長(zhǎng)度降序排列

    31 對(duì)集合中的字符串,按照長(zhǎng)度降序排列

    ? ? ? ? 思路:使用集合的sort方法,新建一個(gè)Comparator接口,泛型是String,重寫(xiě)里面的compare方法。 ? ? ? ? 運(yùn)行結(jié)果: ? ? ? ? ?擴(kuò)充:點(diǎn)擊Comparator,查看接口內(nèi)部:發(fā)現(xiàn)加了@FunctionalInterface,說(shuō)明可以使用箭頭函數(shù),直接使用箭頭函數(shù)就能表示Comparator接口以及它的compara

    2024年02月14日
    瀏覽(18)
  • 【雜記】java 大集合進(jìn)行拆分

    日常中需要對(duì)一個(gè)大的集合進(jìn)行拆分成多個(gè)小集合,其主要思路為: 設(shè)置需要拆分多少個(gè)小集合 A 大集合里面有多少條數(shù)據(jù) B 計(jì)算出每個(gè)集合里面有多個(gè)條數(shù)據(jù) C=B/A 計(jì)算出看是否存在余數(shù) D=B%A 采用集合(List.subList())的方法對(duì)大集合進(jìn)行拆分,循環(huán)A變進(jìn)行集合拆分(List.subList((

    2024年02月08日
    瀏覽(16)
  • Flutter實(shí)現(xiàn)ControlExecutor進(jìn)行多個(gè)異步任務(wù)執(zhí)行時(shí)監(jiān)聽(tīng)狀態(tài)并可指定最后執(zhí)行的異步并在指定的異步執(zhí)行完畢后結(jié)束executor并回調(diào)。

    Flutter實(shí)現(xiàn)ControlExecutor進(jìn)行多個(gè)異步任務(wù)執(zhí)行時(shí)監(jiān)聽(tīng)狀態(tài)并可指定最后執(zhí)行的異步并在指定的異步執(zhí)行完畢后結(jié)束executor并回調(diào)。

    1.場(chǎng)景 當(dāng)有多個(gè)接口請(qǐng)求時(shí),且接口調(diào)用不是同時(shí)進(jìn)行時(shí),而且接口調(diào)用有可能時(shí)鏈?zhǔn)降?,中間也有可能加入別的邏輯,但是需要在第一個(gè)接口調(diào)用時(shí)打開(kāi)等待框,在最后一個(gè)接口調(diào)用完成時(shí)關(guān)閉等待框類似需求時(shí),可以用到ControlExecutor進(jìn)行接口執(zhí)行過(guò)程的監(jiān)聽(tīng),并可標(biāo)記最

    2024年02月09日
    瀏覽(14)
  • 【Python】【完整代碼】秀!巧用Python實(shí)現(xiàn)對(duì)單個(gè)文件或多個(gè)文件中的指定字符串進(jìn)行批量修改/替換(超詳細(xì))

    目錄 1. 對(duì)單份文件 1.1 將替換后的內(nèi)容保存到新文件中 1.2 直接替換當(dāng)前文件中的字符

    2024年02月21日
    瀏覽(23)
  • Mysql 把某一列字段按照逗號(hào)分割

    Mysql 把某一列字段按照逗號(hào)分割

    ? ? 該查詢語(yǔ)句的目的是從 sys_user 表的 auth 列中將數(shù)據(jù)按逗號(hào)拆分成多行,并返回其中不重復(fù)的值。 首先,它使用子查詢 (SELECT auth col FROM sys_user WHERE user_id = \\\'137\\\') AS a 來(lái)獲取 sys_user 表中 user_id 為\\\'137\\\'的記錄的 auth 列,并將其命名為 col 。 然后,它通過(guò)連接 mysql.help_topic 表(

    2024年02月12日
    瀏覽(25)
  • C# 多線程交替按照指定順序執(zhí)行

    C# 多線程交替按照指定順序執(zhí)行

    1.關(guān)于AutoResetEvent和ManualResetEvent的區(qū)別解釋如下: AutoResetEvent和ManualResetEvent是.NET中的兩個(gè)線程同步類。它們之間的主要區(qū)別在于其釋放信號(hào)的方式以及對(duì)等待線程的影響。 AutoResetEvent的作用是在等待的線程被信號(hào)喚醒后,將信號(hào)自動(dòng)重置為非終止?fàn)顟B(tài)。也就是說(shuō),當(dāng)一個(gè)線程

    2024年02月11日
    瀏覽(18)
  • c++文件操作(2)-- 按照指定格式讀寫(xiě)文件

    c++文件操作(2)-- 按照指定格式讀寫(xiě)文件

    目錄 按照指定格式寫(xiě)文件 代碼說(shuō)明:?? 按照指定格式讀文件 -- 解析一定格式的字符串 代碼說(shuō)明:? 注意:? 問(wèn): 為什么使用getline()? ? 在實(shí)際開(kāi)發(fā)中,我們以一定的格式寫(xiě)入文件當(dāng)中。? 其實(shí)就是使用stringstream類對(duì)象來(lái)實(shí)現(xiàn)。 ? 代碼說(shuō)明:?? 大部分操作和寫(xiě)文件類似,只是

    2024年01月24日
    瀏覽(21)
  • 批量將excel文件按照分類生成多個(gè)excel文件

    要批量將Excel文件按照分類生成多個(gè)Excel文件,文件名為分類名,可以使用Python中的pandas庫(kù)來(lái)實(shí)現(xiàn)。下面是示例代碼: import pandas as pd import os def split_excel_by_category(file_path, category_column, output_folder): ? ? # 讀取Excel文件 ? ? df = pd.read_excel(file_path) ? ? # 獲取分類列的唯一值 ? ?

    2024年02月11日
    瀏覽(32)
  • java將指定文件夾按照文件目錄壓縮為zip壓縮包

    將指定的壓縮包作為流發(fā)送給瀏覽器 下面粘貼一些沒(méi)有用的東西 ,是我自已業(yè)務(wù)的邏輯,,主要邏輯是根據(jù)傳入文件不同 判斷將壓縮包發(fā)送給瀏覽器 還是將xls模板發(fā)送給瀏覽器

    2024年02月16日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包