import java.util.List;
public class MyPageUtil{
/**
* 分页
* @param data 分页原始数据
* @param pageNum 当前页
* @param pageSize 当前页数量
* @return
*/
public static <T> List<T> page (List<T> data,int pageNum, int pageSize){
if(data == null || data.size() == 0){
return data;
}
if(pageNum == 0 || pageSize == 0){
throw new RuntimeException("pageNum或者pageSize不能等于0");
}
if(pageNum < 0 || pageSize < 0) {
throw new RuntimeException("pageNum或者pageSize不能小于0");
}
int dataSize = data.size(); // 数据总大小
int pageCount = 0;
// 1 判断分页数据是否大于pageSize
if(dataSize <= pageSize){
return data;
} else {
pageCount = dataSize / pageSize + 1;
}
// 2 获取第一页
if(pageNum <= 1){
return data.subList(0,pageSize);
}
// 3 获取最后一页
if(pageNum * pageSize > data.size()) {
return data.subList((pageCount -1) * pageSize, dataSize);
}
// 4 中间页
return data.subList((pageNum -1) * pageSize, pageNum * pageSize);
}
}
Java 实现List手动分页
最新推荐文章于 2024-07-17 10:06:02 发布