package com.jpsycn.kfwggl.common.crawl; import java.util.ArrayList; import java.util.List; public class PageListBean {

private int currentPage = 1;  //当前页

private int rowsCountPerPage = 5;  //每页的数据条数

private int totalPage = 0;  //共有多少页

private int totalCount = 0; //共有多少行数据

private List dataList = null; //待分页的数据

private List tempDataList = null;  //每页的数据

public PageListBean() {

}

@SuppressWarnings("unchecked")

public List getPaper(List dataList/* 待分页的数据 */, int rowsCount/* 每页显示的行数 */)

{

initPageList(dataList, rowsCount);

tempDataList = new ArrayList();

//currentPage * rowsCountPerPage 定位到当前页的数据数

//currentPage * rowsCountPerPage - rowsCountPerPage 定位到当前页的第一条数据

for(int i = currentPage * rowsCountPerPage - rowsCountPerPage; i < currentPage * rowsCountPerPage; i++) {

if(i >= totalCount) break;

tempDataList.add(dataList.get(i));

}

return tempDataList;

}

//待分页的数据,设置记录数,每页记录数,总页数

private void initPageList(List dataList, int rowsCount) {

this.dataList = dataList;

totalCount = dataList.size();

rowsCountPerPage = rowsCount;

if(totalCount % rowsCountPerPage == 0) {

totalPage = totalCount / rowsCountPerPage;

} else {

totalPage = totalCount / rowsCountPerPage + 1;

}

}

public int getCurrentPage() {

return currentPage;

}

public void setCurrentPage(int currentPage) {

this.currentPage = currentPage;

}

public int getRowsCountPerPage() {

return rowsCountPerPage;

}

public void setRowsCountPerPage(int rowsCountPerPage) {

this.rowsCountPerPage = rowsCountPerPage;

}

public int getTotalPage() {

return totalPage;

}

public void setTotalPage(int totalPage) {

this.totalPage = totalPage;

}

public int getTotalCount() {

return totalCount;

}

public void setTotalCount(int totalCount) {

this.totalCount = totalCount;

}

public List getDataList() {

return dataList;

}

public void setDataList(List dataList) {

this.dataList = dataList;

}

@SuppressWarnings("unchecked")

public static void main(String[] args) {

List da = new ArrayList();

for(int i = 0; i < 25; i++) {

da.add(i+1);

}

PageListBean bean = new PageListBean();

List pagerList = bean.getPaper(da, 5);

bean.setCurrentPage(bean.getTotalPage());

pagerList = bean.getPaper(da, 5);

for(int b = 0; b < pagerList.size(); b++) {

System.out.println(pagerList.get(b));

}

} }

不连数据库List分页的更多相关文章

  1. oracle,mysql,SqlServer三种数据库的分页查询的实例。

    MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了.LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如 ...

  2. 盘点几种数据库的分页SQL的写法(转)

    Data序列——盘点几种数据库的分页SQL的写法http://www.cnblogs.com/fireasy/archive/2013/04/10/3013088.html

  3. 通过 DynamicLinq 简单实现 N-Tier 部署下的服务端数据库通用分页

    通过 DynamicLinq 简单实现 N-Tier 部署下的服务端数据库通用分页 YbSoftwareFactory 的 YbRapidSolution for WinForm 插件使用CSLA.N ...

  4. MySQL、SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法

    在这里主要讲解一下MySQL.SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法. 可能会有人说这些网上都有,但我的主要目的是把这些知识通过我实际的应 ...

  5. Sybase数据库的分页功能

    项目中需要用到Sybase数据库的分页功能,想尽各种办法都没有成功,最后用如下的存储过程成功实现功能,记录备忘. ),@start int, @pageSize int as begin declar ...

  6. 我的sql数据库存储过程分页- -

    以前用到数据库存储过程分页的时候都是用 not in 但是最近工作的时候,随着数据库记录的不断增大,发现not in的效率 真的不行 虽然都设置了索引,但是当记录达到10w的时候就发现不行了,都是需要 ...

  7. postgreSQL数据库limit分页、排序

    postgreSQL数据库limit分页.排序 语法: select * from persons limit  A  offset  B; 解释: A就是你需要多少行: B就是查询的起点位置. 示例 ...

  8. 分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)

             分页查询信息       使用jdbc连接mysql数据库实现分页查询任务 通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上. 本项目 ...

  9. oracle,mysql,SqlServer三种数据库的分页查询

    MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了.LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如 ...

  10. YbSoftwareFactory 代码生成插件【十四】:通过 DynamicLinq 简单实现 N-Tier 部署下的服务端数据库通用分页

    YbSoftwareFactory 的 YbRapidSolution for WinForm 插件使用CSLA.NET作为业务层,CSLA.NET的一个强大的特性是支持 N-Tiers 部署.只需非 ...

随机推荐

  1. Css3 - 动画旋转

    旋转1: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="U ...

  2. Leetcode | N-Queens I & II

    N-Queens I The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no ...

  3. 注意自己的dns设置 - 阿权的书房

    一般而言,随便找个合适的dns服务器作为自己的dns解析服务器即可,但如果选择不当,可能就会导致网络选择并不是最优的.这个情况一般发生在电信网通优化的域名上. 检查方法(域名有所替换): [root@ ...

  4. CSS3:过渡大全

    代码 地址:http://jsbin.com/moquyesumi/edit?html,output <!DOCTYPE HTML> <html> <head> & ...

  5. nginx不支持pathinfo函数

    server { listen ; server_name www.domain.com domain.com; error_page /.html; error_page /50x.html; lo ...

  6. 【转】Html页面结构范例

    原文地址:http://www.51testing.com/html/38/225738-220986.html · HTML · HEAD · LINK ... CSS files required ...

  7. Android shell 命令总结

    Package Manage(PM) pm list packages [FILTER] 查看已安装的应用包 -f 显示关联的apk文件 -s 只在系统应用中搜索Filter -3 只在第三方应用中搜 ...

  8. MuPlayer『百度音乐播放内核』

    MuPlayer『百度音乐播放内核』 —— 跨平台.轻量级的音频播放解决方案. 多端(PC & WebApp)通用,统一的API调用方式 HTML5 Audio与Flash内核的平滑切换(支持 ...

  9. Turing Test

    Computer Science An Overview _J. Glenn Brookshear _11th Edition In the past the Turing test (propose ...

  10. ajax例子:审核验证用户名;登录界面

    审核验证用户名主页面: <body><div>用户名:<input type="text" id="uid" /><s ...