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

Java中實(shí)現(xiàn)List分隔成子List詳解

 更新時間:2022年01月10日 11:13:30   作者:新猿一馬  
大家好,本篇文章主要講的是Java中實(shí)現(xiàn)List分隔成子List詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下

前言

在工作中經(jīng)常遇到需要將數(shù)組分割成多個子數(shù)組,然后進(jìn)行批量處理的需求。那有沒有比較優(yōu)雅的實(shí)現(xiàn)呢?

經(jīng)過多次實(shí)踐,總結(jié)出 ListUtils.partition 和 Lists.partition 兩種較好實(shí)現(xiàn) 。下面對這兩種實(shí)現(xiàn)分別進(jìn)行說明。

一 ListUtils.partition 方法

1.1 引入依賴

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.4</version>
</dependency>

1.2 代碼演示

public static void main(String[] args) {
    //初始化數(shù)組
    List<Integer> parList = new ArrayList<>();
    IntStream.range(0, 30).forEach(parList::add);
 
    //分割成子數(shù)組
    List<List<Integer>> subList = ListUtils.partition(parList, 10);
 
    //遍歷子數(shù)組
    subList.forEach(list -> {
        System.out.println(String.format("subList size:%s", list.size()));
        System.out.println(String.format("list:%s", list.toString()));
    });
}

1.3 輸出結(jié)果

二  Lists.partition 方法

2.1 引入依賴

<dependency>
	<groupId>com.google.guava</groupId>
	<artifactId>guava</artifactId>
	<version>29.0-jre</version>
</dependency>

2.2 代碼演示

public static void main(String[] args) {
    //初始化數(shù)組
    List<Integer> parList = new ArrayList<>();
    IntStream.range(0, 30).forEach(parList::add);
 
    //分割成子數(shù)組
    List<List<Integer>> subList = Lists.partition(parList, 10);
 
    //遍歷子數(shù)組
    subList.forEach(list -> {
        System.out.println(String.format("subList size:%s", list.size()));
        System.out.println(String.format("list:%s", list.toString()));
    });
}

2.3 輸出結(jié)果

三 源碼分析

3.1 ListUtils.partition 源碼分析

最終 ListUtils.partition 調(diào)用 ListUtils.Partition 方法來處理。

ListUtils.Partition 源碼如下:

Partition 類作為 ListUtils 靜態(tài)內(nèi)部類繼承 AbstractList 類。重寫了 get 和 size方法。

3.2 Lists.partition 源碼分析

Lists.partition 方法最終會調(diào)用 new Partition<>(list, size)。

Partition 類源碼如下:

Partition 類作為 Lists 靜態(tài)內(nèi)部類繼承 AbstractList 類。重寫了 get 、 size、isEmpty 方法。

四 性能對比

由于Lists.partition和ListUtils.partition底層實(shí)現(xiàn)都是通過Partition類來實(shí)現(xiàn),性能差不多。

總結(jié)

到此這篇關(guān)于Java中實(shí)現(xiàn)List分隔成子List詳解的文章就介紹到這了,更多相關(guān)Java List分隔成子List內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java中request對象各種方法的使用實(shí)例分析

    java中request對象各種方法的使用實(shí)例分析

    這篇文章主要介紹了java中request對象各種方法的使用,結(jié)合完整實(shí)例形式較為詳細(xì)的分析了request對象的功能及其常用方法的使用技巧,需要的朋友可以參考下
    2015-12-12
  • Java使用poi-tl設(shè)置word圖片環(huán)繞方式為浮于在文字上方

    Java使用poi-tl設(shè)置word圖片環(huán)繞方式為浮于在文字上方

    POI-TL 是一個基于 Apache POI 的 Java 庫,專注于在 Microsoft Word 文檔(.docx 格式)中進(jìn)行模板填充和動態(tài)內(nèi)容生成,下面我們看看如何使用poi-tl設(shè)置word圖片環(huán)繞方式為浮于在文字上方吧
    2025-03-03
  • log4j2日志異步打印(實(shí)例講解)

    log4j2日志異步打印(實(shí)例講解)

    下面小編就為大家?guī)硪黄猯og4j2日志異步打印(實(shí)例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • SpringMVC中如何獲取@PathVariable的值

    SpringMVC中如何獲取@PathVariable的值

    這篇文章主要介紹了SpringMVC中如何獲取@PathVariable的值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java線程創(chuàng)建的四種方式總結(jié)

    Java線程創(chuàng)建的四種方式總結(jié)

    這篇文章主要介紹了Java線程創(chuàng)建的四種方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • mybatis中的異常BindingException詳解

    mybatis中的異常BindingException詳解

    這篇文章主要介紹了mybatis中的異常BindingException詳解,此異常是mybatis中拋出的,意思是使用的這個方法找到,但是因為mapperScan()已經(jīng)掃描到了Mapper類了,在綁定Mapper.xml時沒有綁定到導(dǎo)致的,需要的朋友可以參考下
    2024-01-01
  • Java?nacos動態(tài)配置實(shí)現(xiàn)流程詳解

    Java?nacos動態(tài)配置實(shí)現(xiàn)流程詳解

    使用動態(tài)配置的原因是properties和yaml是寫到項目中的,好多時候有些配置需要修改,每次修改就要重新啟動項目,不僅增加了系統(tǒng)的不穩(wěn)定性,也大大提高了維護(hù)成本,非常麻煩,且耗費(fèi)時間
    2022-09-09
  • Java中for、while、do while三種循環(huán)語句的區(qū)別介紹

    Java中for、while、do while三種循環(huán)語句的區(qū)別介紹

    這篇文章主要介紹了Java中for、while、do while三種循環(huán)語句的區(qū)別介紹的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • 解決Java中OutOfMemoryError的問題

    解決Java中OutOfMemoryError的問題

    這篇文章主要介紹了解決Java中OutOfMemoryError的三種方法,需要的朋友可以參考下
    2015-09-09
  • 實(shí)現(xiàn)一個規(guī)則引擎的可視化具體方案

    實(shí)現(xiàn)一個規(guī)則引擎的可視化具體方案

    項目原因需要用到規(guī)則引擎,但是發(fā)現(xiàn)大部分不可以自由的進(jìn)行規(guī)則定義,通過不斷嘗試變換關(guān)鍵字在搜索引擎搜索,最終在stackoverflow找到了一個探討這個問題的帖子,特此將帖子中提到的方案分享一下,如果你跟我一樣在研究同樣的問題,也許對你有用
    2021-04-04

最新評論

天气| 临湘市| 济源市| 宁强县| 安岳县| 都匀市| 涡阳县| 永年县| 株洲县| 当涂县| 永胜县| 卢龙县| 昂仁县| 土默特右旗| 遂昌县| 唐河县| 大关县| 石家庄市| 陆良县| 德江县| 乌什县| 尖扎县| 红桥区| 台南市| 邛崃市| 前郭尔| 金阳县| 天门市| 彰化县| 土默特右旗| 扬州市| 沙湾县| 开远市| 北碚区| 浪卡子县| 石门县| 巴东县| 全南县| 庄浪县| 博罗县| 怀仁县|