java 基礎方法 list分頁

新增一個list 泛型分類方法

? hutools沒這個方法,?mybatis 里面的方法不好用

?故新增此方法

package com.common.base.util.page;import lombok.Data;import java.util.List;/*** @className: VoPage* @description: list分頁* @author: chenyuanlong* @date: 2025年6月16日 0016 上午 11:24:41**/
@Data
public class VoPage<T>{private Integer pageAll;private Integer pageSize;private List<VoPageOne<T>>  pageDatas;
}

package com.common.base.util.page;import lombok.Data;import java.util.List;/*** @className: VoPageOne* @description: 每頁* @author: chenyuanlong* @date: 2025年6月16日 0016 上午 11:28:41**/
@Data
public class VoPageOne<T> {private Integer pageCur;private List<T> pageDatas;}

package com.common.base.util.page;import com.common.base.util.json.UtilJsonFast;
import com.common.base.util.number.UtilBigDecimal;import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;/*** 分頁計算  list分批返回* @author chenyuanlong* @date 2024/9/13 11:18*/
public class UtilPageList<T> {/*** list 分頁返回* @param allDatas* @return*/public  VoPage<T> listPage(List<T> allDatas, Integer pageSize){VoPage<T> re=new VoPage<>();List<VoPageOne<T>>  pageDatas=new ArrayList<>();// 總頁數int pageAll= UtilBigDecimal.divideROUND_UP(new BigDecimal(allDatas.size()),new BigDecimal(pageSize));re.setPageAll(pageAll);re.setPageSize(pageSize);// 遍歷設置每頁for(int thisPage=0;thisPage<pageAll;thisPage++){VoPageOne voPageOne=new VoPageOne();voPageOne.setPageCur(thisPage+1);List<T> voPageThis=new ArrayList<>();for(int j=0;j<pageSize;j++){int posi=thisPage*pageSize+j;if(posi<allDatas.size()){T dataOne=allDatas.get(posi);voPageThis.add(dataOne);}}voPageOne.setPageDatas(voPageThis);pageDatas.add(voPageOne);}re.setPageDatas(pageDatas);return re;}}

測試此方法

package page;import cn.hutool.core.util.PageUtil;
import com.common.base.util.page.UtilPageList;
import com.common.base.util.page.VoPage;
import lombok.Data;import java.util.ArrayList;
import java.util.List;/*** @className: VoPageTest* @description: 分頁測試* @author: chenyuanlong* @date: 2025年6月16日 0016 下午 01:22:22**/
@Data
public class VoPageTest {private String pId;private String pName;/*** 測試分頁類*/public static void pTest(){List<VoPageTest>  allDatas=new ArrayList<>();VoPageTest voPageTest1=new VoPageTest();voPageTest1.setPId("001");voPageTest1.setPName("1號位置");allDatas.add(voPageTest1);VoPageTest voPageTest2=new VoPageTest();voPageTest2.setPId("002");voPageTest2.setPName("2號位置");allDatas.add(voPageTest2);VoPageTest voPageTest3=new VoPageTest();voPageTest3.setPId("003");voPageTest3.setPName("3號位置");allDatas.add(voPageTest3);VoPageTest voPageTest4=new VoPageTest();voPageTest4.setPId("004");voPageTest4.setPName("4號位置");allDatas.add(voPageTest4);VoPageTest voPageTest5=new VoPageTest();voPageTest5.setPId("005");voPageTest5.setPName("5號位置");allDatas.add(voPageTest5);VoPage<VoPageTest> re=new UtilPageList<VoPageTest>().listPage(allDatas,2);System.out.println(re);}public static void main(String[] args) {VoPageTest.pTest();}
}

用到的工具類里面的方法

/*** 相除,結果保留整數部分(整型)* @param divided  被除數* @param divide   除數* @return 相除后的結果*/
public static int divideROUND_UP(BigDecimal divided, BigDecimal divide) {return divided.divide(divide, 0, BigDecimal.ROUND_UP).intValue();
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/909732.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/909732.shtml
英文地址,請注明出處:http://en.pswp.cn/news/909732.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

操作系統期末復習--操作系統初識以及進程與線程

操作系統概念與主要功能 操作系統的概念 在信息化時代&#xff0c;軟件是計算機系統的靈魂&#xff0c;而作為軟件核心的操作系統&#xff0c;已與現代計算機系統密不可分、融為一體。計算機系統自下而上大致分為4部分&#xff1a;硬件、操作系統、應用程序和用戶 操作系統管…

使用jhat查看dump.hprof文件內具體對象的屬性值信息

jhat是JDK自帶的堆轉儲分析工具&#xff0c;可以用來查看.hprof文件中對象的具體內容。本文演示使用的是JKD8. 一、啟動jhat 執行啟動命令。 jhat -J-Xmx4g your_heap_dump.hprof -J-Xmx4g表示為jhat分配4GB內存&#xff0c;根據你自己情況調整大小。your_heap_dump.hprof是…

freeRTOS之隊列(queue)

一.概述 1.介紹 隊列(queue)可以用于"任務到任務"、“任務到中斷”、"中斷到任務"直接傳輸信息。 2.核心功能 線程安全&#xff1a;自動處理多任務訪問時的互斥問題。 數據復制&#xff1a;入隊時復制數據&#xff08;而非引用&#xff09;&#xff0c;…

【python】typing用法

一、基礎類型提示 1. 基本類型注解 # 變量類型注解 age: int 30 name: str "Alice" is_student: bool False height: float 1.752. 函數注解 def greet(name: str, age: int) -> str:return f"Hello {name}, you are {age} years old!"二、組合類…

web前端開發核心基礎:Html結構分析,head,body,不同標簽的作用

前端技術協同關系 協作流程&#xff1a;HTML構建頁面框架—>css美化樣式&#xff08;選擇器屬性&#xff09;—>JavaScript實現交互&#xff08;類似于python的腳本語言&#xff09;擴展基礎&#xff1a;在上面三項基礎上學習Vue\React、構建工具WePack和瀏覽器工作原理…

精益數據分析(105/126):移動應用核心指標解析與用戶分層營收策略

精益數據分析&#xff08;105/126&#xff09;&#xff1a;移動應用核心指標解析與用戶分層營收策略 在移動應用市場競爭白熱化的今天&#xff0c;單純追求下載量已無法保證商業成功&#xff0c;精細化運營核心指標成為盈利關鍵。本文將深入解析每日活躍用戶平均營收&#xff…

被CC攻擊了,對服務器有什么影響?

博客正文&#xff1a; 最近&#xff0c;不少網站管理員和運維人員反映遭遇了CC攻擊&#xff0c;導致服務器性能異常甚至癱瘓。那么&#xff0c;CC攻擊究竟會對服務器造成哪些影響&#xff1f;本文將為你簡要解析CC攻擊的原理及其帶來的危害&#xff0c;幫助你更好地理解并應對…

Tensorflow安裝出現dependency conflict錯誤

Python版本&#xff1a; 3.11.4 pip版本已升到最新 電腦上有mac的原裝Python2.x&#xff0c;我裝的3.11.4&#xff0c;還有個什么依賴的3.9 運行 pip3 install tensorflow 出現類似以下錯誤 &#xff08;我報錯的是另一個不是tensorflow—estimator&#xff0c;但基本就是…

2025年HTTP半開與錯誤攻擊防御指南:原理拆解與實戰防護

你以為限流就能防住HTTP攻擊&#xff1f;黑客用協議畸形包AI調度正在撕裂傳統防線&#xff01; 一、HTTP半開攻擊&#xff1a;慢速絞殺服務器資源 ? 攻擊原理剖析 HTTP半開攻擊&#xff08;如Slowloris&#xff09;是一種應用層DoS攻擊&#xff0c;通過建立大量半開連接耗盡…

Mybatis(XML映射文件、動態SQL)

目錄 基礎操作 準備&#xff1a; 刪除&#xff1a; 新增&#xff1a; 更新&#xff1a; 查詢&#xff1a; 條件查詢&#xff1a; XML映射文件 動態SQL if foreach sql&include 基礎操作 準備&#xff1a; 準備數據庫表 創建一個新的springboot工程&#xff0…

python校園拼團系統

目錄 技術棧介紹具體實現截圖系統設計研究方法&#xff1a;設計步驟設計流程核心代碼部分展示研究方法詳細視頻演示試驗方案論文大綱源碼獲取/詳細視頻演示 技術棧介紹 Django-SpringBoot-php-Node.js-flask 本課題的研究方法和研究步驟基本合理&#xff0c;難度適中&#xf…

多模態大語言模型arxiv論文略讀(127)

When SAM2 Meets Video Camouflaged Object Segmentation: A Comprehensive Evaluation and Adaptation ?? 論文標題&#xff1a;When SAM2 Meets Video Camouflaged Object Segmentation: A Comprehensive Evaluation and Adaptation ?? 論文作者&#xff1a;Yuli Zhou, …

劍指offer32_二叉搜索樹的后序遍歷序列

二叉搜索樹的后序遍歷序列 輸入一個整數數組&#xff0c;判斷該數組是不是某二叉搜索樹的后序遍歷的結果。 如果是則返回true&#xff0c;否則返回false。 假設輸入的數組的任意兩個數字都互不相同。 數據范圍 數組長度 [ 0 , 1000 ] [0,1000] [0,1000]。 樣例 輸入&…

《仿盒馬》app開發技術分享-- 訂單結合優惠券結算(端云一體)

技術棧 Appgallery connect 開發準備 上一節我們已經實現了優惠券的選擇&#xff0c;并且成功的把券后的價格也展示給用戶&#xff0c;不能使用的優惠券我們也用友好的方式告知用戶&#xff0c;這一節我們來實現優惠券內容的下一步&#xff0c;優惠券內容結合訂單進行結算提…

Python+Selenium+Pytest+POM自動化測試框架封裝

&#x1f345; 點擊文末小卡片 &#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 1、測試框架簡介 1&#xff09;測試框架的優點 代碼復用率高&#xff0c;如果不使用框架的話&#xff0c;代碼會顯得很冗余。可以組裝日志、報告、郵件等一些…

宋代大模型:智能重構下的文明再發現

引言&#xff1a;當汴京城遇見生成式AI 一幅動態的《清明上河圖》正通過全息投影技術演繹汴京城的市井百態。這個虛實交融的場景&#xff0c;恰似宋代大模型技術的隱喻——以人工智能為紐帶&#xff0c;連接起東京夢華的繁盛圖景與數字時代的文明重構。作為人工智能與歷史學交…

K-means++:讓K-means“聰明”地選擇初始中心點

大家好&#xff01;歡迎來到我的技術分享博客~ &#x1f44b; 在前兩篇博客中&#xff0c;我們深入探討了經典的 K-means 算法 以及它的優化方案 Canopy K-means。如果你還沒有看過&#xff0c;強烈建議先回顧一下&#xff0c;因為今天的主題 K-means 和它們有著千絲萬縷的聯系…

Langchain學習筆記(1)——如何調用Huggingface的模型并實現實時返回生成結果

Langchain支持很方便的OpenAI模型的調用&#xff0c;可以做到快速開發大模型應用。但是要使用Huggingface上的開源模型就沒有那么方便了&#xff0c;本文就詳細闡述如何用Langchain開發基于Huggingface上的模型&#xff0c;并實時返回生成結果。 實時返回生成結果是LLM很關鍵的…

Java安全-常規漏洞問題(SQL注入,XXE,SSRF,RCE)

靶場搭建 靶場下載 &#xff1a; https://github.com/whgojp/JavaSecLab這個靶場是使用Springboot搭建的所以不要下載 jar 文件運行&#xff0c;要使用IDEA運行他的文件夾 先打開pom 然后進行maven一下 改一下端口 配置完成之后修改一下 運行的模式 使用phpstudy搞一個sql數…

基于視頻的 AI 內存庫,極速語義檢索

簡介 在大模型應用里&#xff0c;將文本數據分塊嵌入存儲在向量數據庫已經是標準做法。然而&#xff0c;傳統向量數據庫雖然功能強大&#xff0c;但其高昂的RAM和存儲需求&#xff0c;以及復雜的部署運維&#xff0c;常常讓開發者望而卻步。今天&#xff0c;介紹一個名為 Memv…