0
点赞
收藏
分享

微信扫一扫

java利用list写分页

package com.test.list.page;
import java.util.List;
/**
 * list 伪分页
 */
public class PageDao { /**
  * @param list 
  * @param nowPage 当前页
  * @param pageNote 每一页显示的条数
  */
 // 将集合分页
 public List distributePage(List list, int nowPage, int pageNote) {
  List pageList = null;
  PageVo vo = new PageVo();
  vo = this.encapsulationPage(list, nowPage, pageNote);//当前页,每一页显示的条数
  pageList = list.subList(vo.getNowPage() * vo.getPageNote() - vo.getPageNote(), list.size());
  if (pageList.size() > vo.getPageNote()) {
   pageList = list.subList(vo.getNowPage() * vo.getPageNote() - vo.getPageNote(), vo.getNowPage()
     * vo.getPageNote());
  }
  return pageList;
 } // 封装页面属性
 public PageVo encapsulationPage(List list, int nowPage, int pageNote) {
  PageVo page = new PageVo();
  page.setHeadPage(1);
  page.setPageNote(pageNote);
  page.setConutNote(list);
  page.setCountPage(list);
  page.setNowPage(nowPage);
  page.setNextPage(nowPage);
  page.setPreviousPage(nowPage);
  return page;
 }}
// /:~
 
 public class PageVo {
 private int countPage;// 总页数
 private int conutNote;// 总条数
 private int previousPage;// 上一页
 private boolean previous;// 判断上一页
 private int nextPage;// 下一页
 private boolean next;// 判断下一页
 private int nowPage;// 当前页
 private int headPage;// 首页
 private int pageNote;// 每一页显示的条数 public int getConutNote() {
  return conutNote;
 } public void setConutNote(List list) {
  this.conutNote = list.size();
 } public int getCountPage() {
  return countPage;
 } public void setCountPage(List list) {
  if (list.isEmpty()) {
   this.countPage = 1;
  } else if (list.size() == 0) {
   this.countPage = 1;
  } else {
   this.countPage = list.size() % this.getPageNote() == 0 ? list.size() / this.getPageNote() : list.size()
     / this.getPageNote() + 1;
  }
 } 
 public int getNextPage() {
  if (this.nextPage <= this.countPage) {
   this.nextPage++;
  }
  return this.nextPage;
 } public void setNextPage(int nextPage) {
  this.nextPage = nextPage;
 } public int getNowPage() {
  return nowPage;
 } public void setNowPage(int nowPage) {
  if (nowPage > this.countPage) {
   nowPage = 1;
  }
  this.nowPage = nowPage;
 } public int getPageNote() {
  return pageNote;
 } public void setPageNote(int pageNote) {
  this.pageNote = pageNote;
 } public int getPreviousPage() {
  if (this.previousPage > this.headPage) {
   this.previousPage--;
  }
  return previousPage;
 } public void setPreviousPage(int previousPage) {
  this.previousPage = previousPage;
 } public boolean isNext() {
  if (this.nextPage > this.countPage || this.countPage == this.headPage) {
   this.next = false;
  } else {
   this.next = true;
  }
  return this.next;
 } public void setNext(boolean next) {
  this.next = next;
 } public boolean isPrevious() {
  if (this.nowPage <= this.headPage) {
   this.previous = false;
  }else {
   this.previous = true;
  }
  return this.previous;
 } public void setPrevious(boolean previous) {
  this.previous = previous;
 } /**
  * @return the headPage
  */
 public int getHeadPage() {
  return headPage;
 } /**
  * @param headPage the headPage to set
  */
 public void setHeadPage(int headPage) {
  this.headPage = headPage;
 }
} 
package com.test.list.page;
import java.util.ArrayList; 
import java.util.List; 

public class TestPagerModel { 
    public static void main(String args[]) { 
        List<String> list = new ArrayList<String>(); 
        list.add("a"); 
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        list.add("f");
        list.add("g");
        list.add("h");
        list.add("i");
        list.add("j");
        list.add("k");
        
        PageDao page=new PageDao();
        List sublist= page.distributePage(list, 1, 5);
        PageVo vo=page.encapsulationPage(list, 1, 5);
        System.out.println("当前页:"+vo.getNowPage());
        System.out.println("下一页:"+vo.getNextPage());
        System.out.println("总页数:"+vo.getCountPage());
        System.out.println("前一页:"+vo.getPreviousPage());
        System.out.println("HeadPage:"+vo.getHeadPage());
        System.out.println("是否有下一页:"+vo.isNext());
        System.out.println("是否有前一页:"+vo.isPrevious());         for(int i = 0; i < sublist.size(); i++) { 
             System.out.println("sublist:"+sublist.get(i)); 
         } 
    } }

举报

相关推荐

0 条评论