最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中List分片方式詳細(xì)解析

 更新時(shí)間:2022年09月30日 10:46:09   作者:ldcaws  
這篇文章主要介紹了Java中List分片方式詳細(xì)解析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

前言

在日常開發(fā)中,經(jīng)常會(huì)遇到持久層批量插入的需求,當(dāng)批量插入的數(shù)據(jù)量比較大時(shí),會(huì)導(dǎo)致執(zhí)行報(bào)錯(cuò),究其原因,是MySQL只能執(zhí)行一定長度的SQL語句,若插入的數(shù)據(jù)量很多時(shí),執(zhí)行的插入語句就會(huì)很長,最終導(dǎo)致執(zhí)行報(bào)錯(cuò)。

解決方式通常如下:

設(shè)置MySQL可以執(zhí)行的SQL語句的最大長度;將List進(jìn)行分片;

下面對List進(jìn)行分片進(jìn)行簡單的分析。

將一個(gè)List分成多個(gè)小List的過程,即為分片,其實(shí)現(xiàn)方式有如下:

  • Google的Guava組件;
  • Apache的commons組件;
  • 國產(chǎn)的Hutool組件;
  • JDK8的Stream流;
  • 自定義;

1、Google的Guava組件方式

	public static void main(String[] args) {
        List<String> list = Arrays.asList("曹操,孫權(quán),劉備,袁紹,張繡,馬騰,張魯".split(","));

        List<List<String>> partition = Lists.partition(list, 3);

        partition.forEach(i -> {
            System.out.println("子集合:" + i);
        });
    }

執(zhí)行結(jié)果如下:

2、Apache的commons組件方式

	public static void main(String[] args) {
        List<String> list = Arrays.asList("曹操,孫權(quán),劉備,袁紹,張繡,馬騰,張魯".split(","));

        List<List<String>> partition = ListUtils.partition(list, 3);

        partition.forEach(i -> {
            System.out.println("子集合:" + i);
        });
    }

執(zhí)行結(jié)果同上。

3、國產(chǎn)的Hutool組件方式

	public static void main(String[] args) {
        List<String> list = Arrays.asList("曹操,孫權(quán),劉備,袁紹,張繡,馬騰,張魯".split(","));

        List<List<String>> partition = ListUtil.partition(list,3);

        partition.forEach(i -> {
            System.out.println("子集合:" + i);
        });
    }

執(zhí)行結(jié)果同上。

4、JDK8的Stream流方式

	public static void main(String[] args) {
        List<String> list = Arrays.asList("曹操,孫權(quán),劉備,袁紹,張繡,馬騰,張魯".split(","));

        Map<Boolean, List<String>> collect = list.stream().collect(Collectors.partitioningBy(str -> {
            return str.equals("曹操");
        }));

        System.out.println(collect);
    }

執(zhí)行結(jié)果如下:

5、自定義方式

	public static void main(String[] args) {
        List<String> list = Arrays.asList("曹操,孫權(quán),劉備,袁紹,張繡,馬騰,張魯".split(","));

        List<String> subList = list.subList(0, 3);

        subList.forEach(i -> System.out.println(i));
    }

執(zhí)行結(jié)果如下:

上面即為常見的List分片方式,可以根據(jù)具體需求和場景進(jìn)行選擇使用。

到此這篇關(guān)于Java中List分片方式詳細(xì)解析的文章就介紹到這了,更多相關(guān)Java List分片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)彈窗效果的基本操作

    Java實(shí)現(xiàn)彈窗效果的基本操作

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)彈窗效果的基本操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • hibernate-validator后端表單數(shù)據(jù)校驗(yàn)的使用示例詳解

    hibernate-validator后端表單數(shù)據(jù)校驗(yàn)的使用示例詳解

    這篇文章主要介紹了hibernate-validator后端表單數(shù)據(jù)校驗(yàn)的使用,hibernate-validator提供的校驗(yàn)方式為在類的屬性上加入相應(yīng)的注解來達(dá)到校驗(yàn)的目的,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • 詳細(xì)總結(jié)Java創(chuàng)建文件夾的方法及優(yōu)缺點(diǎn)

    詳細(xì)總結(jié)Java創(chuàng)建文件夾的方法及優(yōu)缺點(diǎn)

    很多小伙伴都不知道如何用Java創(chuàng)建文件夾,今天給大家整理了這篇文章,文中有非常詳細(xì)的方法介紹及方法的優(yōu)缺點(diǎn),對正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • springboot3解決跨域的幾種方式小結(jié)

    springboot3解決跨域的幾種方式小結(jié)

    這篇文章主要介紹了springboot3解決跨域的幾種方式,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的解決跨域有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • java 后端生成pdf模板合并單元格表格的案例

    java 后端生成pdf模板合并單元格表格的案例

    這篇文章主要介紹了java 后端生成pdf模板合并單元格表格的案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • java中的動(dòng)態(tài)代理與責(zé)任鏈模式詳解

    java中的動(dòng)態(tài)代理與責(zé)任鏈模式詳解

    這篇文章主要介紹了java中的動(dòng)態(tài)代理與責(zé)任鏈模式詳解,動(dòng)態(tài)代理提供了一種靈活且非侵入式的方式,可以對對象的行為進(jìn)行定制和擴(kuò)展,它在代碼重用、解耦和業(yè)務(wù)邏輯分離、性能優(yōu)化以及系統(tǒng)架構(gòu)中起到了重要的作用,需要的朋友可以參考下
    2023-08-08
  • java多線程從入門到精通看這篇就夠了

    java多線程從入門到精通看這篇就夠了

    熟悉 Java 多線程編程的同學(xué)都知道,當(dāng)我們線程創(chuàng)建過多時(shí),容易引發(fā)內(nèi)存溢出,因此我們就有必要使用線程池的技術(shù)了,今天通過本文給大家分享java多線程從入門到精通的相關(guān)知識(shí),一起看看吧
    2021-06-06
  • Java向上轉(zhuǎn)型和向下轉(zhuǎn)型實(shí)例解析

    Java向上轉(zhuǎn)型和向下轉(zhuǎn)型實(shí)例解析

    這篇文章主要介紹了Java向上轉(zhuǎn)型和向下轉(zhuǎn)型實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Java?Optional的判空操作詳解

    Java?Optional的判空操作詳解

    JAVA在1.8版本推出Optional,官方文檔將其描述為可能包含或不包含非空值的容器對象,目前Optional用于避免程序出現(xiàn)異常NullPointerException,感興趣的可以了解一下
    2022-09-09
  • Spring中Transactional注解使用的心得(推薦)

    Spring中Transactional注解使用的心得(推薦)

    這篇文章主要介紹了Spring中Transactional注解使用的心得,事務(wù)是用來控制數(shù)據(jù)的ACID特性的,用于保證數(shù)據(jù)的正確性和完整性,需要的朋友可以參考下
    2022-10-10

最新評論

丰都县| 蚌埠市| 新源县| 扎囊县| 台湾省| 浪卡子县| 仪陇县| 含山县| 泗阳县| 西乌珠穆沁旗| 临沂市| 扶绥县| 同心县| 景德镇市| 昭通市| 林州市| 南丰县| 津南区| 安康市| 高平市| 临猗县| 台北市| 尖扎县| 崇信县| 芜湖县| 海宁市| 威海市| 霍林郭勒市| 桂林市| 吉木萨尔县| 盐边县| 平度市| 南陵县| 新龙县| 泰顺县| 专栏| 古丈县| 大田县| 弥勒县| 永吉县| 宜章县|