import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 对List分页
*
* @param list
* @param pageNum 页码
* @param pageSize 每页多少条数据
* @return
*/
public static <T> PageInfo<T> startPage(List<T> list, Integer pageNum, Integer pageSize) {
PageInfo<T> page = new PageInfo<>();
if (list == null || list.size() == 0) {
page.setList(new ArrayList<>());
return page;
}
if(null == pageNum || pageNum <= 0){
pageNum = 1;
}
if(null == pageSize || pageSize <= 0){
pageSize = 10;
}
int count = list.size(); // 记录总数
int pageCount = 0; // 页数
if (count % pageSize == 0) {
pageCount = count / pageSize;
} else {
pageCount = count / pageSize + 1;
}
if (pageNum > pageCount) {
pageNum = pageCount;
}
int fromIndex = 0; // 开始索引
int toIndex = 0; // 结束索引
if (pageNum != pageCount) {
fromIndex = (pageNum - 1) * pageSize;
toIndex = fromIndex + pageSize;
} else {
fromIndex = (pageNum - 1) * pageSize;
toIndex = count;
}
List<T> ts = list.subList(fromIndex, toIndex);
page.setPageNum(pageNum);
page.setPageSize(pageSize);
page.setSize(ts.size());
page.setTotal(list.size());
page.setList(ts);
page.setPages(pageCount);
return page;
}
Java 对List进行分页
于 2022-05-16 17:32:14 首次发布