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

java對(duì)list集合進(jìn)行分頁(yè)的四種寫(xiě)法總結(jié)

 更新時(shí)間:2025年05月24日 09:13:01   作者:codingPower  
這篇文章主要介紹了java對(duì)list集合進(jìn)行分頁(yè)的四種寫(xiě)法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java對(duì)list集合進(jìn)行分頁(yè)的寫(xiě)法

假設(shè)有一個(gè)list數(shù)組,因?yàn)榭倲?shù)過(guò)大,在進(jìn)行查詢或者調(diào)用外部接口時(shí),需要對(duì)其進(jìn)行分頁(yè)處理,可以用以下幾種方式進(jìn)行處理

eq:

List<String>  bigList=Lists.newArrayList("a","b","c","d","e","f","g","h");

1. subList分頁(yè)【java.util.List.sublist(int fromIndex,int toIndex)】

 int pageSize=3;//每頁(yè)大小
 int count=bigList.size();//總list
 int totalPage=(int)((count/pageSize)+(count % pageSize >0?1:0));//總頁(yè)數(shù)
 for(int i=1;i<=totalPage;i++){
 	List<String> smallList=bigList.sublist(pageSize*(i-1),Math.min(pageSize*i,count));//截取對(duì)應(yīng)范圍數(shù)據(jù)
 	System.out.println(smallList.toString());
 }

2. partition分頁(yè)【com.google.com.collect.Lists.partition(List list,int size) 】

int pageSize=3;//每頁(yè)大小
List<List<String>> partitionList=Lists.partition(bigList,pageSize);//進(jìn)行分頁(yè)
for(List<String> smallList:partitionList){
	System.out.println(smallList.toString());
}

3. java8 stream流 分頁(yè)

  
 int pageSize=3;//每頁(yè)大小
 int count=bigList.size();//總list
 int totalPage=(int)((count/pageSize)+(count % pageSize >0?1:0));//總頁(yè)數(shù)
 // 使用 Stream 實(shí)現(xiàn)分頁(yè)
 	for(int i=1;i<=totalPage;i++){
        List<String> smallList= bigList.stream()
                .skip(PageSize*(i-1)) // 跳過(guò)前 PageSize*(i-1) 個(gè)元素
                .limit(pageSize)    // 限制結(jié)果數(shù)量為 pageSize
                .collect(Collectors.toList()); //結(jié)果為列表
         System.out.println(smallList.toString());
        }

4. hutool工具類提供的方法ListUtil.split(List list,int size)

實(shí)際內(nèi)部實(shí)現(xiàn)還是subList分頁(yè)

int pageSize=3;//每頁(yè)大小
List<List<String>> splitList=ListUtil.split(bigList,pageSize);//bigList 需處理的列表,pageSize分頁(yè)長(zhǎng)度
for(List<String> smallList:splitList){
	System.out.println(smallList.toString());
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何使用JCTools實(shí)現(xiàn)Java并發(fā)程序

    如何使用JCTools實(shí)現(xiàn)Java并發(fā)程序

    這篇文章主要介紹了如何使用JCTools實(shí)現(xiàn)Java并發(fā)程序,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • Spring解決循環(huán)依賴問(wèn)題及三級(jí)緩存的作用

    Spring解決循環(huán)依賴問(wèn)題及三級(jí)緩存的作用

    這篇文章主要介紹了Spring解決循環(huán)依賴問(wèn)題及三級(jí)緩存的作用,所謂的三級(jí)緩存只是三個(gè)可以當(dāng)作是全局變量的Map,Spring的源碼中大量使用了這種先將數(shù)據(jù)放入容器中等使用結(jié)束再銷毀的代碼風(fēng)格
    2022-07-07
  • SpringBoot3.x嵌入MongoDB進(jìn)行測(cè)試的步驟詳解

    SpringBoot3.x嵌入MongoDB進(jìn)行測(cè)試的步驟詳解

    本文介紹了在?Spring?Boot?應(yīng)用中使用Flapdoodle?Embed?Mongo進(jìn)行?MongoDB?測(cè)試的方法,包括Embed?Mongo?的概念,添加依賴、配置、運(yùn)行測(cè)試的步驟,還列舉了其優(yōu)勢(shì)如快速啟動(dòng)關(guān)閉、環(huán)境一致、無(wú)需外部依賴等,以及注意事項(xiàng)和結(jié)論,需要的朋友可以參考下
    2024-12-12
  • Java實(shí)戰(zhàn)之課程信息管理系統(tǒng)的實(shí)現(xiàn)

    Java實(shí)戰(zhàn)之課程信息管理系統(tǒng)的實(shí)現(xiàn)

    這篇文章主要介紹了如何利用Java實(shí)現(xiàn)課程信息管理系統(tǒng),文中采用到的技術(shù)有:Springboot、SpringMVC、MyBatis、FreeMarker等,感興趣的可以了解一下
    2022-04-04
  • HttpClient的RedirectStrategy重定向處理核心機(jī)制

    HttpClient的RedirectStrategy重定向處理核心機(jī)制

    這篇文章主要為大家介紹了HttpClient的RedirectStrategy重定向處理核心機(jī)制源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • java集合 collection-list-LinkedList詳解

    java集合 collection-list-LinkedList詳解

    下面小編就為大家?guī)?lái)一篇java集合 collection-list-LinkedList詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • SpringBoot整合log4j日志與HashMap的底層原理解析

    SpringBoot整合log4j日志與HashMap的底層原理解析

    這篇文章主要介紹了SpringBoot整合log4j日志與HashMap的底層原理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Jenkins環(huán)境搭建之下載與安裝過(guò)程

    Jenkins環(huán)境搭建之下載與安裝過(guò)程

    Jenkins是一個(gè)功能強(qiáng)大的應(yīng)用程序,允許持續(xù)集成和持續(xù)交付項(xiàng)目,集成Jenkins可以用于一些測(cè)試和部署技術(shù),對(duì)Jenkins環(huán)境搭建之下載與安裝過(guò)程感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • 使用IDEA如何導(dǎo)入SpringBoot項(xiàng)目

    使用IDEA如何導(dǎo)入SpringBoot項(xiàng)目

    這篇文章主要介紹了使用IDEA如何導(dǎo)入SpringBoot項(xiàng)目問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,
    2023-12-12
  • java mybatis框架實(shí)現(xiàn)多表關(guān)系查詢功能

    java mybatis框架實(shí)現(xiàn)多表關(guān)系查詢功能

    這篇文章主要介紹了java mybatis框架實(shí)現(xiàn)多表關(guān)系查詢,基于Maven框架的整體設(shè)計(jì) —— 一多一的關(guān)系,文中通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10

最新評(píng)論

城市| 马尔康县| 南乐县| 大关县| 象山县| 星子县| 大田县| 棋牌| 宁安市| 陇南市| 大余县| 黎城县| 福贡县| 普陀区| 祁连县| 白山市| 射洪县| 和静县| 灯塔市| 潞西市| 格尔木市| 休宁县| 襄樊市| 南江县| 贵定县| 屏东县| 新竹市| 和政县| 廊坊市| 冀州市| 长阳| 万源市| 清新县| 隆昌县| 平阴县| 神农架林区| 怀远县| 凤阳县| 大足县| 周口市| 辉南县|