使用 subList 实现分页:
/**@Description: subList 分页
* <br> 1. 起始位置边界值处理: 当前页码 <= 0 情况处理; 当前页码 > 最大页码 情况处理
* <br> 2. 终止位置边界值处理: 当前页码 <= 0 情况处理; 终止位置 <= 总记录数 情况处理
* @param pageSize 每页显示的数量
* @param pageNum 当前页码
* @version v1.0
* @author wu
* @date 2022/7/31 11:44
*/
private List<?> subList(ArrayList<?> list, int pageSize, int pageNum) {
int count = list.size(); // 总记录数
// 计算总页数
int pages = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
// 起始位置
int start = pageNum <= 0 ? 0 : (pageNum > pages ? (pages - 1) * pageSize : (pageNum - 1) * pageSize);
// 终止位置
int end = pageNum <= 0 ? (pageSize <= count ? pageSize : count) : (pageSize * pageNum <= count ? pageSize * pageNum : count);
return list.subList(start, end);
}