/**
*
* @param list
* @param pageNum
* @param pageSize
* @param <T>
* @return 返回当前页数据
*/
public <T> List<T> getListPaging(List<T> list, int pageNum, int pageSize) {
if(list == null || list.size() <= 0){
return new ArrayList<>(0);
}
//开始下标
int startIndex = (pageNum - 1) * pageSize;
//结束下标 subList()方法不包含结束下标的元素
int endIndex = pageNum * pageSize;
//list总条数
int total = list.size();
//总页数
int pageCount = 0;
//通过取余决定是否给总页数加1
int num = total % pageSize;
if (num == 0) {
pageCount = total / pageSize;
} else {
pageCount = total / pageSize + 1;
}
//如果当前页是最后一页的话 要包含集合的最后一条数据,因为sublist方法本身结束的下标是不包含当前元素的
if (pageNum == pageCount) {
endIndex = total;
}
return list.subList(startIndex, endIndex);
}