实现自己的分页工具类
需求:根据传入的页数、每页条目数、List数组进行分页
实现:
public class PageUtil {
public static <T> PageEntity startPage(int pageNum, int pageSize, List<T> data) {
if (data.isEmpty()) {
PageEntity pageEntity = new PageEntity();
pageEntity.setTotal(0);
pageEntity.setData(new ArrayList<>());
return pageEntity;
}
int total;
if (data.size()%pageSize == 0) {
total = data.size()/pageSize;
} else {
total = data.size()/pageSize + 1;
}
List<T> result = new ArrayList<>();
if (pageNum <= total) {
if (data.size() < pageSize) {
result = data.subList(pageNum*pageSize-(pageSize-1)-1, data.size());
} else {
result = data.subList(pageNum*pageSize-(pageSize-1)-1, pageNum*pageSize);
}
}
PageEntity pageEntity = new PageEntity();
pageEntity.setTotal(total);
pageEntity.setData(result);
return pageEntity;
}
}