需求:根据条件查询数据,将返回数据结果放到list中,在对list进行去重生成新的list,最后对新的list进行分页查询。
代码
/**
* @Auther: yaohongan
* @Description //对list分页
* @Date: 2021/7/7 17:02
*/
@Override
public List listPage(Long pageIndex, Long pageSize, List list) {
if (pageIndex.equals(0L)) {
pageIndex = 1L;
}
int totalRecord = list.size(); // 一共多少条记录
Long totalPage = totalRecord % pageSize; // 一共多少页
if (totalPage > 0) {
totalPage = totalRecord / pageSize + 1;
} else {
totalPage = totalRecord / pageSize;
}
Long currentPage = totalPage < pageIndex ? totalPage : pageIndex;// 当前第几页数据
int fromIndex = (int) (pageSize * (currentPage - 1));// 起始索引
int toIndex = pageSize * currentPage > totalRecord ? totalRecord : (int) (pageSize * currentPage);// 结束索引
return list.subList(fromIndex, toIndex);
}