List集合利用ubList()分页
/**
* @param pageSize 当前页面大小
* @param pageNum 当前页码
* @param list 需要分页的集合
* @return
*/
public static Map PagerMap(int pageSize, int pageNum, List list){
//使用list 中的sublist方法分页
List dataList = new ArrayList<>();
//返回总页数 跟当前页
Map map = Maps.newHashMap();
// 每页显示多少条记录
int currentPage; //当前第几页数据
int totalRecord = list.size(); // 一共多少条记录
int totalPage = totalRecord % pageSize; // 一共多少页
if (totalPage > 0) {
totalPage = totalRecord / pageSize + 1;
} else {
totalPage = totalRecord / pageSize;
}
// 当前第几页数据
currentPage = totalPage < pageNum ? totalPage : pageNum;
// 起始索引
int fromIndex = pageSize * (currentPage - 1);
// 结束索引
int toIndex = pageSize * currentPage > totalRecord ? totalRecord : pageSize * currentPage;
try{
if(list!=null && list.size()>0) {
dataList = new ArrayList<>(list.subList(fromIndex, toIndex));
}
map.put("data",dataList);
map.put("total",totalRecord);
map.put("currentPage",currentPage);
}catch(IndexOutOfBoundsException e){
e.printStackTrace();
}
return map;
}