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));
         }
    }

}

你可能感兴趣的:(java)