import java.util.ArrayList;
import java.util.List;
/**
*
*
* @author <a href="mailto:brofe@163.com">潘宁波</a>
* @date Nov 6, 2014 3:36:26 PM
*/
public class ListPagingTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for (Integer i = 0; i < 1000; i++) {
list.add(i);
}
int pageNumber = 50; // 每页记录数
int totalCount = list.size(); // 总记录数
int totalPage = totalCount / pageNumber; // 总页数
if((totalCount % pageNumber) > 0){
totalPage += 1;
}
for (int pageNo = 0; pageNo < totalPage; pageNo++) {
int fromIndex = pageNo * pageNumber;
int toIndex = ((pageNo + 1) * pageNumber);
if(toIndex > totalCount){
toIndex = totalCount;
}
System.out.println("》》》》》》》》》》 第【" + pageNo + "】页");
for (Integer i : list.subList(fromIndex, toIndex)) {
System.out.println(i);
}
}
}
}
分享到:
相关推荐
动态分页算法是数据库系统和Web应用中常用的一种技术,用于高效地处理大量数据并以分页的形式展示给用户。在Java开发中,实现动态分页通常涉及到对数据集的切片操作,以便只加载用户请求的部分数据。下面将详细阐述...
在数据库操作中,分页是通过SQL查询语句中的LIMIT和OFFSET或者ROWNUM来实现的,但在内存中处理Java集合时,由于没有直接的数据库支持,我们需要自己编写算法来实现分页效果。分页通常包括两个关键参数:当前页数...
Eclipse Collections(简称ecside)是一个高性能、低开销的Java集合框架,它提供了一些高级功能,如分页算法,这对于处理大规模数据流非常有用。在这个主题中,我们将深入探讨如何利用Java和ecside进行大数据的分页...
### List分页技术详解 #### 一、引言 在数据处理过程中,特别是涉及到大量数据展示时,分页是一项常见的需求。例如,在网页上显示文章列表、商品信息等,为了提高用户体验并减轻服务器负担,通常会采用分页的方式...
在Java List分页功能实现代码实例中,使用了一个简单的分页算法,即将数据集合分割成多个小的集合。该算法的时间复杂度为O(n),其中n是数据集合的大小。该算法的优点是简单易于实现,缺点是当数据集合非常大时,可能...
在Java编程中,合并多个List并去除重复元素是一项常见的任务,尤其在处理数据集合时。在给定的案例中,我们看到两种不同的方法来完成这个任务。首先,让我们详细讲解这两种方法。 ### 1. 使用`addAll()`和`...
1. **集合分页算法**:在处理大量数据时,通常需要实现分页加载,以避免一次性加载过多数据导致内存压力。前加载去重复数据是指在加载下一页数据时去除已有的数据,确保列表不出现重复;后加载去重复数据则是在加载...
7. **集合实用工具**:如ListUtils、MapUtils、SetUtils等,提供了一组静态方法,用于执行常见的集合操作,如列表分页、映射合并、集合是否为空等。 8. **算法**:库中还包含了一些常用的算法实现,如查找、排序、...
- **TList类**:一个数组的指针集合,可以用来实现某些特定的功能。 - **TtdObjectList类**:提供了对对象列表的支持,适用于需要存储对象的情况。 - **磁盘上的数组**:探讨了如何在磁盘上有效地存储和访问数组,这...
6. **集合算法**:提供了一些高级的集合操作,如`ListUtils`和`SetUtils`中的`union`、`intersection`、`difference`等,实现集合的合并、交集、差集等运算。 7. **堆栈和队列**:`QueueUtils`和`StackUtils`提供了...
5. **转换**:允许将一个集合转换成另一个集合,比如将List转换为Set,或者将Map的键或值转换为新的集合。 6. **比较器**:提供了各种比较器,包括自然排序、比较器链以及基于属性的比较器,用于自定义对象的排序...
1. **增强的集合接口**:Commons Collections提供了一系列的装饰器(Decorator)类,它们包装了标准的Java集合接口,如List、Set、Map等,增加了新的功能。例如,`ListUtils`、`MapUtils`和`SetUtils`提供了许多静态...
在Java中,集合框架主要由`java.util`包提供支持,其中主要包括`List`、`Set`、`Map`三个接口以及它们的具体实现类,如`ArrayList`、`HashSet`、`HashMap`等。集合的这一特性使得它非常适合于存储对象而非基本数据...
集合映射可以是 set、list、map、bag、array 等。级联策略控制可以控制集合元素的保存和删除。排序策略可以控制集合元素的顺序。 聚合映射 Hibernate 的聚合映射可以将多个对象聚合到一个对象中。聚合映射可以是...
重点知识包括进程与线程、内存管理(分页、分段)、调度算法(FCFS、SJF、RR等)、文件系统、死锁条件与避免、操作系统的并发和同步机制(信号量、管程、互斥锁等)。 以上就是《技术面试必备基础知识 CyC2018.pdf...
3. **分页逻辑**:为了实现每页20行,你需要创建一个分页算法。这涉及到计算数据总数,然后确定每个页面包含的数据量。你可以创建一个方法,接受总行数和每页行数作为参数,返回一个数据块的集合,每个数据块代表一...
### Linux命令集合详解 #### ac -- 输出用户连接时间 `ac` 命令用于显示用户的连接时间。这对于了解用户何时登录系统非常有用。 #### access -- 确定文件是否可以存取访问 `access` 命令可以帮助判断一个文件是否...
Redis提供了丰富的命令操作各种数据类型,例如`SET`、`GET`、`INCR`、`HSET`、`LREM`、`SADD`、`ZADD`等,涵盖了增删改查以及排序、分页等功能。 ### 3. 事务(Transactions) Redis支持事务,允许一次性执行多个...
2. 数据绑定:如何将数据源(如DataTable、List或其他自定义对象集合)绑定到Repeater控件。 3. 事件处理:如ItemDataBound事件,用于在数据绑定过程中添加额外的逻辑或动态生成HTML。 4. 用户交互处理:处理用户...