package com.jxc.util;
import java.util.List;
/**
* 数据分页器
* @author Pan
*
*/
public class Paging {
private List<String> datas;
private Integer pageCount;
public Paging(List<String> datas){
this.datas=datas;
//计算出页码
pageCount=(datas.size()-1)/5+1;
}
public Integer getPageCount() {
return pageCount;
}
public List<String> get(Integer index){
if(index>this.pageCount){
System.err.println("页码超出索引范围。");
return null;
}
int start=(index-1)*5;
int end=start+5-1;
if(end>datas.size()){
end=datas.size()-1;
}
System.out.println(start+" - "+end);
return datas.subList(start, end+1);
}
}
测试:
package com.domain;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import com.jxc.util.Paging;
public class PageTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> oList=new ArrayList<String>();
for(int i=0;i<10;i++){
oList.add(i+":"+i);
}
Paging paging=new Paging(oList);
System.out.println("总页数:"+paging.getPageCount());
System.out.println("数据条数:"+oList.size());
for(int i=1;i<=paging.getPageCount();i++){
for(String str:paging.get(i)){
System.out.print(str+"\t");
}
System.out.println("第:"+i+"页");
}
}
}
输出结果:
总页数:2
数据条数:10
0 - 4
0:0 1:1 2:2 3:3 4:4 第:1页
5 - 9
5:5 6:6 7:7 8:8 9:9 第:2页