`
shuai1234
  • 浏览: 972403 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

java利用list写分页

    博客分类:
  • java
 
阅读更多

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

}

分享到:
评论

相关推荐

    实现对List的分页

    本示例主要讲解如何利用List接口的获取子List方法来实现对List的分页功能。这个过程涉及到Java集合框架的理解、数据范围的计算以及如何构建分页模型。 首先,我们需要理解Java中的List接口。List是Java集合框架的一...

    java 数据分页显示

    在Java编程中,数据分页显示是Web应用中常见的需求,尤其在处理大量数据时,为了提高用户体验并优化服务器性能,通常需要将数据分成多个页面进行展示。本篇将深入探讨Java实现数据分页显示的核心技术和策略。 首先...

    list 假分页的demo

    总之,"list假分页的demo"展示了如何在内存中利用list实现分页功能,这种技术适用于数据量适中的场景,可以提高用户体验并减少服务器请求。在实际应用中,应根据数据量和性能需求选择合适的分页策略。

    java多线程分页查询

    ### Java多线程分页查询知识点详解 #### 一、背景与需求分析 在实际的软件开发过程中,尤其是在处理大量数据时,如何高效地进行数据查询成为了一个关键问题。例如,在一个用户众多的社交平台上,当用户需要查看...

    java分页组件(直接复用,简单方便)

    Java分页组件是一种在开发Java Web应用程序时非常实用的工具,它可以帮助开发者高效地处理大量数据的展示,尤其是在用户需要浏览或操作大量记录时。在Web应用中,通常不建议一次性加载所有数据到客户端,因为这可能...

    list分页,可直接用

    "list分页,可直接用"的标题表明这是一个无需依赖任何特定框架或插件的分页解决方案,适合那些希望保持代码简洁、自定义程度高的开发者使用。 在描述中提到的“通过list集合分页”,暗示了这个方法可能基于Java中的...

    java语言的分页查询功能(mysql和sql server)

    在Java编程中,分页查询是一项非常重要的功能,特别是在处理大量数据时,它能有效地减少内存负担,提高应用性能。本教程将详细讲解如何在Java中实现不分框架的分页查询,同时涵盖对MySQL和SQL Server数据库的支持。 ...

    JAVA_JDBC面向对象分页(初步设计二之oracle)

    总结来说,面向对象的Java JDBC分页查询涉及到创建Page类来存储分页信息,构造Oracle兼容的SQL语句,以及使用PreparedStatement执行查询。在实际开发中,我们还需要关注性能优化、异常处理和代码的可维护性,确保...

    用java 实现分页

    在Java编程中,分页是数据管理中一个常见的需求,特别是在处理大数据集时,为了提高用户体验和系统性能,我们通常不会一次性加载所有数据,而是分批次地加载,这就是分页的基本概念。本教程将深入讲解如何使用Java...

    java Pagination(分页并操作)

    在传统的JDBC操作中,可以利用`PreparedStatement`的`setFirstResult()`和`setMaxResults()`方法实现分页。这两个方法分别对应偏移量和限制大小。例如: ```java String sql = "SELECT * FROM table LIMIT ?, ?";...

    Java实现的分页工具类

    在Java开发中,分页功能是一项非常常见的需求,特别是在处理大量数据时,为了提高用户体验和系统性能,我们通常会将数据进行分批加载,这就是分页的原理。本篇文章将详细探讨如何使用Java实现一个分页工具类,以及在...

    JAVA数字分页案例

    在分页查询中,我们可以利用Hibernate的Criteria API或HQL(Hibernate Query Language)来实现。通常,我们会通过设置`setFirstResult`(起始位置)和`setMaxResults`(最大返回结果数)来实现分页查询。例如: ```...

    java中利用List的subList方法实现对List分页(简单易学)

    总结,Java中利用`List`的`subList`方法进行分页是一种简洁高效的方式,只需要维护好当前页、每页记录数和总数据数,就可以轻松地实现分页功能。`PageModel`类提供了一个基础框架,你可以根据实际需求进行扩展和完善...

    java简单分页

    在Java中,我们可以利用JDBC(Java Database Connectivity)或者ORM框架如Hibernate、MyBatis等来实现分页。以JDBC为例,以下是一个简单的分页查询示例: ```java public List&lt;User&gt; getUsersByPage(int current...

    java js 分页控件

    例如,在Spring中,我们可以利用Pageable接口和Page对象来实现分页。以下是一个简单的示例: ```java Pageable pageable = PageRequest.of(pageNumber, pageSize, Sort.by(Sort.Direction.DESC, "id")); List&lt;User&gt;...

    JAVA和JSP分页显示实例

    本实例将介绍如何利用Java和JSP实现一个简单的分页显示功能。 首先,我们需要理解分页的基本原理。分页通常涉及到两个关键参数:当前页码(currentPage)和每页显示的条目数量(pageSize)。通过这两个参数,我们...

    java的分页代码

    Java中的分页功能是数据库操作中非常常见的一种技术,它允许我们从大量数据中按需获取部分信息,提高用户体验并减少服务器压力。本示例将详细介绍如何在Java中实现分页,以及涉及到的关键知识点。 首先,我们需要...

    java分页 的3种方法

    在Java开发中,分页是常见的数据处理方式,特别是在大数据量的展示场景下,它可以有效减少内存负担,提高用户体验。本篇文章将详细讲解在Oracle数据库环境下,Java实现分页的三种方法。 一、JDBC手动分页 1. **...

    java分页代码下载

    根据提供的文件信息,我们可以分析出该段代码是用于实现基于Java技术的Web应用程序中的分页功能。虽然这里的代码示例采用的是ASP.NET的语法结构,但我们可以从中抽取出与Java分页相关的概念和技术要点,并结合Java...

    java ssh的分页详解,及详细问题解答

    在SSH框架中,我们可以利用Hibernate的Criteria API或HQL(Hibernate Query Language)来实现分页查询。 1. **Struts2分页**: 在Struts2中,我们可以使用插件如DisplayTag或EasyUI来实现分页。DisplayTag是一个...

Global site tag (gtag.js) - Google Analytics