Java对List进行分页
Java对组装的List分页
以前一直是在DAO层直接从数据库里分页,但是今天因为有些数据,需要混合展示,就是根据条件取出了多个对象的集合,然后把这些多个List放到一个List里,然后在从这个List里进行分页。
1 public SearchResult paging(List<T> list, int pageNumber, int pageSize) throws Exception{ 2 List<T> pageList = new ArrayList<T>(); 3 int currIdx = (pageNumber > 1 ? (pageNumber -1) * pageSize : 0); 4 for (int i = 0; i < pageSize && i < list.size() - currIdx; i++){ 5 T listNew = list.get(currIdx + i); 6 pageList.add(listNew); 7 } 8 SearchResult<T> searchResult = new SearchResult<>(); 9 searchResult.setList(pageList); 10 searchResult.setTotal(list.size()); 11 if (searchResult.getTotal()%pageSize == 0){ 12 searchResult.setPages((int)searchResult.getTotal()/pageSize); 13 }else { 14 searchResult.setPages((int)searchResult.getTotal()/pageSize + 1); 15 } 16 searchResult.setPageNum(pageNumber); 17 searchResult.setPageSize(pageSize); 18 searchResult.setSize(pageList.size()); 19 //是否是第一页 20 if (pageNumber == 1){ 21 searchResult.setIsFirstPage(true); 22 }else { 23 searchResult.setIsFirstPage(false); 24 } 25 //是否是最后一页 26 if ((searchResult.getTotal() - pageNumber*pageSize) > 0){ 27 searchResult.setIsLastPage(false); 28 }else { 29 searchResult.setIsLastPage(true); 30 } 31 return searchResult; 32 }
hello world!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix