Java實現手動分頁
阿新 • • 發佈:2019-01-25
1、使用apache工具進行手動分頁
import java.util.ArrayList; import java.util.List; import org.apache.commons.collections4.ListUtils; import com.alibaba.fastjson.JSON; /** * 手動分頁 * @author 張林強 */ public class Test { //*1 使用apache工具進行手動分頁 public static void getPageContentByApache(int pageNo,int pageSize) { List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e"); list.add("f"); list.add("g"); List<List<String>> partition = ListUtils.partition(list, pageSize); if(list.size()<(pageNo*pageSize)){ System.out.println("越界"); }else{ System.out.println(JSON.toJSONString(partition.get(pageNo-1))); } } public static void main(String[] args) { getPageContentByApache(3,2); } }
2、使用原生 Java api 進行手動分頁
import java.util.ArrayList; import java.util.List; import org.apache.commons.collections4.ListUtils; import com.alibaba.fastjson.JSON; /** * 手動分頁 * @author 張林強 */ public class Test { //*2 使用原生 Java api 進行手動分頁 public static void getPageContentByApi(int pageNo,int pageSize){ List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e"); list.add("f"); list.add("g"); //總記錄數 int total = list.size(); for(int i = 0 ;i <= total;i++){ // 開始索引 int fromIndex = (pageNo-1) * pageSize; // 結束索引 int toIndex = fromIndex + pageSize; // 如果結束索引大於集合的最大索引,那麼規定結束索引=集合大小 if(toIndex > total){ toIndex = total; } if(fromIndex <= total){ List<String> subList = list.subList(fromIndex, toIndex); System.out.println(JSON.toJSONString(subList)); if(toIndex >= fromIndex){ break; } } } } public static void main(String[] args) { getPageContentByApi(3,2); } }