Java对List分页,利用subList()方法实现
package com.portal.common.utils;
import org.springframework.util.CollectionUtils;
import java.util.List;
public class ListPageUtil {
/**
* 对 List 分页
* @param list
* @param currPage 第几页
* @param pageSize 每页多少条数据
* @return list
*
* */
public List getSubList(List list, int currPage, int pageSize){
if(CollectionUtils.isEmpty(list)){
return null;
}
if(currPage == 0 || pageSize == 0){
currPage = 1;
pageSize = 10;
}
int firstIndex = (currPage - 1) * pageSize;//开始索引
int lastIndex = currPage * pageSize;//结束索引
if(lastIndex > list.size()){
lastIndex = list.size();
if(firstIndex > lastIndex){
int pageNum = (int) Math.floor(lastIndex / pageSize);
if(currPage > pageNum){
if((pageNum - currPage) < 0 ){
currPage = 1;
firstIndex = (currPage - 1) * pageSize;
}
}
}
}
List subList = list.subList(firstIndex, lastIndex);
return subList;
}
}