package util;
import java.util.ArrayList;
import java.util.List;
public class Paging {
List<?> list;
int pageCount;
public Paging() {
}
/**
* 初始化
*
* @param list
* 数据库查询到的数据集合
* @param pageCount
* 每页显示的记录条数
*/
public Paging(List<?> list, int pageCount) {
this.list = list;
this.pageCount = pageCount;
}
/**
* 返回当前页的记录集合
*
* @param nowPage
* 当前页
* @return 当前页的List集合(页数从0开始)
*/
@SuppressWarnings("unchecked")
public List<Object> getPaging(int nowPage) {
// 总记录条数
int count = list.size();
// 分页集合
List<Object> list = new ArrayList<Object>();
for (int i = 0; i < count; i += pageCount) {
List<Object> temp = new ArrayList<Object>();
if ((count - i) >= pageCount) {
for (int j = 0; j < pageCount; j++) {
temp.add(this.list.get(i + j));
}
} else {
for (int j = 0; j < count - i; j++) {
temp.add(this.list.get(i + j));
}
}
list.add(temp);
}
// 返回当前页
return (List<Object>) list.get(nowPage);
}
public int getPageNum() {
// 总记录条数
int count = list.size();
// 分页数
int pageNum = count / pageCount;
if (count % pageCount != 0) {
pageNum += 1;
}
return pageNum;
}
}
测试:
public class Mian {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
list.add("7");
list.add("8");
list.add("9");
list.add("10");
Paging page = new Paging(list,4);
System.out.println(page.getPaging(1));
}
}//结果[5, 6, 7, 8]