最简单的java分页算法

分页|算法

定义两个Vector,一个为储存查询所有记录的totalV,另一个储存当前页的记录currentPageV;
总的记录数:int totalSize = totalV.getSize();
每页显示的记录数:int countPerPage;
总页数:int totalPageNum = totalSize/countPerPage;
//如果总的记录数和每页记录数的余数大于零,
//那么总的页数为他们的整除结果加一
if (totalSize%countPerPage > 0 ){
totalPageNum = totalSize/countPerPage + 1;
}
当前的页数:pageNum;

for (int j = 0;j<totalV.size();j++){
//分页,根据当前的页数和每页显示的记录数从totalV中取出记录
//往currentPageV中添加记录;
//如果当前记录在(当前页码-1)*每页显示记录数(包括等于)
//和 当前页码*每页显示记录数(不包括等于)之间的时候;
//就属于该页的数据
if ( (j >= (pageNum - 1) * countPerPage) && (j < pageNum * countPerPage)) {
currentPageV.addElement(totalV.get(j));
}
//当currentPageV记录数等于每页显示记录数,
//停止往currentPageV中添加记录
if (currentPageV.size() == countPerPage) {
break;
}
}
那么,当前页中显示的记录,就是currentPageV中的记录。

时间: 2024-11-02 15:22:56

最简单的java分页算法的相关文章

不足80行,一种清晰而又简单通用的分页算法,你有这么想过吗?C#版

分页,是WEB开发中面对的最常见的编程,实现方法多种多样.我也不来评论这些方法的好坏. 但我总感觉它们太复杂,不够清晰不够简单.我十分欣赏PHP中一个Pager.php分页类的算法.http://www.phpclasses.org/browse/file/288.html,作者不详.也在不同的项目中把这种思想转换成不同语言的分页类,你不妨也试试. 这种算法的思路是这样的: 1.把分页后的数据抽象为一个类,你可以把它想象成一个双向链表的一个结点. 结构如下:    1 //页类 2 public

利用JQuery写一个简单的异步分页插件_jquery

写了一个Jquery异步分页插件,拿出来分享一下,有不完善之处请指教. 以用户分页为例,先看一下效果,首先是第一页: 下一页或者点击第二页后: 点击尾页后: 效果还可以吧?来看看具体怎么用,首先后台要有一个Page模型: Page.java: public class Page { /** * 当前页号 */ private int currPageNum = 1; /** * 总记录数 */ private int totalRowSize = 0; /** * 每页记录数 */ privat

ASP的高效率的分页算法

一种高效的SELECT TOP分页算法.代码如下: <%'每页的记录数dim pagesizepagesize= "30" '读出总记录数,总页数,飘易注Dim TotalRecords,TotalPagesSQLstr="Select count(id) As RecordSum From table1" Set Rs=conn.Execute(SQLstr,0,1) TotalRecords=Rs("RecordSum") if Int

SQLSERVER海量数据库的查询优化及分页算法

分页|数据|数据库|算法|优化 探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的"红头文件"一表的部分数据结构: CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名    [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键    [title] [varchar] (80) COLLATE Chines

海量数据库的查询优化及分页算法方案

分页|数据|数据库|算法|优化 随着"金盾工程"建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种.各部门.与此同时,应用系统体系的核心.系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量.那么,如何实现快速地从这些超大容量的数据库中提取数据(查询).分析.统计以及提取数据后进行数据分页已成为各地系统管理员和数据库管理员亟待解决的难题. 在以下的文章中,我将以"办公自动化"系

3行代码的分页算法(求起始页和结束页)

  涉及到分页时, 除非只显示上一页/下一页, 否则需要计算起始页和结束页. 看过很多代码都是用大量的if-else来实现, 代码量大, 又不简洁. 现在提供一种只需要3行代码的算法. 一个好的分页算法, 应该具有下面的优点: 当前页码应该尽量在正中间. 如果"首页"和"尾页"不可用(当前处于第一页或最后一页), 不要隐藏这两组文字, 以免链接按钮位置变动. 算法简单. 下面的算法具有前面1和3两个优点. PHP: // $curr_index, 当前页码. //

MS SQL Server数据库查询优化及分页算法

server|分页|数据|数据库|算法|优化 探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的"红头文件"一表的部分数据结构:CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名    [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键    [title] [varchar] (80) COLLATE

java排序算法

Java 1.0和1.1库都缺少的一样东西是算术运算,甚至没有最简单的排序运算方法.因此,我们最好创建一个Vector,利用经典的Quicksort(快速排序)方法对其自身进行排序. 编写通用的排序代码时,面临的一个问题是必须根据对象的实际类型来执行比较运算,从而实现正确的排序.当然,一个办法是为每种不同的类型都写一个不同的排序方法.然而,应认识到假若这样做,以后增加新类型时便不易实现代码的重复利用. 程序设计一个主要的目标就是"将发生变化的东西同保持不变的东西分隔开".在这里,保持不

java抽奖算法,高人请指点一二

问题描述 java抽奖算法,高人请指点一二 一共有3分,一天可以进行无数次抽奖,最高获得3分,可以是1+1+1也可以是2+1也可以是1+2,分别是每次抽奖获得的奖励数,这个怎么做呢? 解决方案 这个简单,第一次抽奖产生一个1~3的随机数第二次产生1~(N-已经抽奖的总分)的随机数当已经抽奖的随机数总和达到3,就不许抽奖了. 解决方案二: "几"=(抽奖人数/奖品数)*N.这是一种最简单抽奖算法 http://www.cnblogs.com/younggun/p/3249772.html