From 51cbd7b94540e773fd3efc87418178001a16fc28 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Mon, 6 Jun 2022 11:39:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E5=88=86=E9=A1=B5=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E4=BC=98=E5=8C=96=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=80=BB?= =?UTF-8?q?=E5=85=B1=E5=B0=B11=E9=A1=B5=EF=BC=8C=E5=88=99=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E8=BF=94=E5=9B=9E=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jeesite/common/collect/ListUtils.java | 64 ++++++++++--------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/common/src/main/java/com/jeesite/common/collect/ListUtils.java b/common/src/main/java/com/jeesite/common/collect/ListUtils.java index bf090343..08b6a0f4 100644 --- a/common/src/main/java/com/jeesite/common/collect/ListUtils.java +++ b/common/src/main/java/com/jeesite/common/collect/ListUtils.java @@ -4,23 +4,14 @@ */ package com.jeesite.common.collect; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; - -import org.apache.commons.beanutils.PropertyUtils; - import com.jeesite.common.callback.MethodCallback; import com.jeesite.common.lang.ObjectUtils; import com.jeesite.common.lang.StringUtils; import com.jeesite.common.reflect.ReflectUtils; +import org.apache.commons.beanutils.PropertyUtils; + +import java.util.*; +import java.util.concurrent.CopyOnWriteArrayList; /** * List工具类 @@ -346,27 +337,38 @@ public class ListUtils extends org.apache.commons.collections.ListUtils { * @author ThinkGem */ public static void pageList(List list, int pageSize, MethodCallback pageCallback){ - if (list != null && list.size() > 0){ + if (list == null || pageSize == 0) { + return; + } - int count = list.size(), pageNo = 1; - int totalPage = (count + pageSize - 1) / pageSize; - - while(true){ + int count = list.size(); - // 执行回调,分页后的数据 - List pageList = getPageList(list, pageNo, pageSize, totalPage); - if (pageList.size() > 0){ - pageCallback.execute(pageList, pageNo, pageSize, totalPage); - } - - // 如果为最后一页,则跳出循环 - if (pageNo >= totalPage){ - break; - } - - // 页数加一继续下一页 - pageNo++; + if (count == 0) { + return; + } + + if (count <= pageSize) { + pageCallback.execute(list, 1, pageSize, 1); + return; + } + + int pageNo = 1, totalPage = (count + pageSize - 1) / pageSize; + + while(true){ + + // 执行回调,分页后的数据 + List pageList = getPageList(list, pageNo, pageSize, totalPage); + if (pageList.size() > 0){ + pageCallback.execute(pageList, pageNo, pageSize, totalPage); } + + // 如果为最后一页,则跳出循环 + if (pageNo >= totalPage){ + break; + } + + // 页数加一继续下一页 + pageNo++; } }