Java分页

来源:互联网 发布:js判断汉字长度 编辑:程序博客网 时间:2024/05/16 13:52
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 stubList<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页