java對list集合進行分頁的四種寫法總結(jié)
更新時間:2025年05月24日 09:13:01 作者:codingPower
這篇文章主要介紹了java對list集合進行分頁的四種寫法總結(jié),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
java對list集合進行分頁的寫法
假設(shè)有一個list數(shù)組,因為總數(shù)過大,在進行查詢或者調(diào)用外部接口時,需要對其進行分頁處理,可以用以下幾種方式進行處理
eq:
List<String> bigList=Lists.newArrayList("a","b","c","d","e","f","g","h");1. subList分頁【java.util.List.sublist(int fromIndex,int toIndex)】
int pageSize=3;//每頁大小
int count=bigList.size();//總list
int totalPage=(int)((count/pageSize)+(count % pageSize >0?1:0));//總頁數(shù)
for(int i=1;i<=totalPage;i++){
List<String> smallList=bigList.sublist(pageSize*(i-1),Math.min(pageSize*i,count));//截取對應(yīng)范圍數(shù)據(jù)
System.out.println(smallList.toString());
}2. partition分頁【com.google.com.collect.Lists.partition(List list,int size) 】
int pageSize=3;//每頁大小
List<List<String>> partitionList=Lists.partition(bigList,pageSize);//進行分頁
for(List<String> smallList:partitionList){
System.out.println(smallList.toString());
}3. java8 stream流 分頁
int pageSize=3;//每頁大小
int count=bigList.size();//總list
int totalPage=(int)((count/pageSize)+(count % pageSize >0?1:0));//總頁數(shù)
// 使用 Stream 實現(xiàn)分頁
for(int i=1;i<=totalPage;i++){
List<String> smallList= bigList.stream()
.skip(PageSize*(i-1)) // 跳過前 PageSize*(i-1) 個元素
.limit(pageSize) // 限制結(jié)果數(shù)量為 pageSize
.collect(Collectors.toList()); //結(jié)果為列表
System.out.println(smallList.toString());
}4. hutool工具類提供的方法ListUtil.split(List list,int size)
實際內(nèi)部實現(xiàn)還是subList分頁
int pageSize=3;//每頁大小
List<List<String>> splitList=ListUtil.split(bigList,pageSize);//bigList 需處理的列表,pageSize分頁長度
for(List<String> smallList:splitList){
System.out.println(smallList.toString());
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決IDEA報錯war?exploded?is?not?valid問題
在使用IntelliJ?IDEA時遇到'[projectname]warexploded'無效的問題,可以通過清除項目列表、重新導(dǎo)入項目和配置新的Tomcat來解決,確保在Tomcat配置中,將ApplicationContext修改為僅包含一個'/',這一方法或許能幫助遇到相似問題的開發(fā)者2024-09-09
SpringBoot靜態(tài)類調(diào)用Bean的兩種方案(新手版)
這篇文章主要介紹了兩種解決Spring Boot中靜態(tài)類調(diào)用Bean問題的方法:方案一使用SpringContextHolder(中間人模式),方案二使用@PostConstruct注解(入住模式),根據(jù)具體需求選擇合適的方案,需要的朋友可以參考下2025-12-12
SpringBoot跨域Access-Control-Allow-Origin實現(xiàn)解析
這篇文章主要介紹了SpringBoot跨域Access-Control-Allow-Origin實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12
淺談spring的重試機制無效@Retryable@EnableRetry
這篇文章主要介紹了淺談spring的重試機制無效@Retryable@EnableRetry,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

