Java对List进行分页
这篇文章主要介绍了Java List分页功能实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
今天,工作上,由于业务的一些特殊性,需要拿到数据后在java代码中进行分页。
写了一个工具类,记录如下:
package com.demo.utils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class PageUtil {
/**
* List分页
* @param list
* @param pageNum 页码
* @param pageSize 每页多少条数据
* @return
*/
public static Map listPage(List list, Integer pageNum,
Integer pageSize) {
if (list == null) {
return null;
}
if (list.size() == 0) {
return null;
}
Integer count = list.size(); // 记录总数
Integer pageCount = 0; // 页数
if (count % pageSize == 0) {
pageCount = count / pageSize;
} else {
pageCount = count / pageSize + 1;
}
int fromIndex = 0; // 开始索引
int toIndex = 0; // 结束索引
if (pageNum != pageCount) {
fromIndex = (pageNum - 1) * pageSize;
toIndex = fromIndex + pageSize;
} else {
fromIndex = (pageNum - 1) * pageSize;
toIndex = count;
}
List pageList = list.subList(fromIndex, toIndex);
Map<String, Object> map = new HashMap<>();
map.put("count",count);
map.put("pageNum",pageNum);
map.put("pageSize",pageSize);
map.put("pageList",pageList);
return map;
}
}
参数分别为:需要进行分页的list,页码,每页多少条数据
返回值为:分页后的Map数据,总记录数,页码,每页多少条数据