`
brofe
  • 浏览: 233421 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

集合 List 分页算法

    博客分类:
  • Java
阅读更多
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);
			}
		}
		
	}
}
分享到:
评论

相关推荐

    动态分页算法java代码

    动态分页算法是数据库系统和Web应用中常用的一种技术,用于高效地处理大量数据并以分页的形式展示给用户。在Java开发中,实现动态分页通常涉及到对数据集的切片操作,以便只加载用户请求的部分数据。下面将详细阐述...

    集合分页.zip

    在数据库操作中,分页是通过SQL查询语句中的LIMIT和OFFSET或者ROWNUM来实现的,但在内存中处理Java集合时,由于没有直接的数据库支持,我们需要自己编写算法来实现分页效果。分页通常包括两个关键参数:当前页数...

    JAVA 大数据 ecside 分页 算法

    Eclipse Collections(简称ecside)是一个高性能、低开销的Java集合框架,它提供了一些高级功能,如分页算法,这对于处理大规模数据流非常有用。在这个主题中,我们将深入探讨如何利用Java和ecside进行大数据的分页...

    list分页代码

    ### List分页技术详解 #### 一、引言 在数据处理过程中,特别是涉及到大量数据展示时,分页是一项常见的需求。例如,在网页上显示文章列表、商品信息等,为了提高用户体验并减轻服务器负担,通常会采用分页的方式...

    Java List分页功能实现代码实例

    在Java List分页功能实现代码实例中,使用了一个简单的分页算法,即将数据集合分割成多个小的集合。该算法的时间复杂度为O(n),其中n是数据集合的大小。该算法的优点是简单易于实现,缺点是当数据集合非常大时,可能...

    java 实现多个list 合并成一个去掉重复的案例

    在Java编程中,合并多个List并去除重复元素是一项常见的任务,尤其在处理数据集合时。在给定的案例中,我们看到两种不同的方法来完成这个任务。首先,让我们详细讲解这两种方法。 ### 1. 使用`addAll()`和`...

    算法篇章1

    1. **集合分页算法**:在处理大量数据时,通常需要实现分页加载,以避免一次性加载过多数据导致内存压力。前加载去重复数据是指在加载下一页数据时去除已有的数据,确保列表不出现重复;后加载去重复数据则是在加载...

    commons-collections-3.2.2-bin.tar包

    7. **集合实用工具**:如ListUtils、MapUtils、SetUtils等,提供了一组静态方法,用于执行常见的集合操作,如列表分页、映射合并、集合是否为空等。 8. **算法**:库中还包含了一些常用的算法实现,如查找、排序、...

    The Tomes of Delphi Algorithms and Data Structures - Julian Bucknall

    - **TList类**:一个数组的指针集合,可以用来实现某些特定的功能。 - **TtdObjectList类**:提供了对对象列表的支持,适用于需要存储对象的情况。 - **磁盘上的数组**:探讨了如何在磁盘上有效地存储和访问数组,这...

    org.apache.commons.collections-3.2.1.jar.zip

    6. **集合算法**:提供了一些高级的集合操作,如`ListUtils`和`SetUtils`中的`union`、`intersection`、`difference`等,实现集合的合并、交集、差集等运算。 7. **堆栈和队列**:`QueueUtils`和`StackUtils`提供了...

    commons-collections-3.2.jar

    5. **转换**:允许将一个集合转换成另一个集合,比如将List转换为Set,或者将Map的键或值转换为新的集合。 6. **比较器**:提供了各种比较器,包括自然排序、比较器链以及基于属性的比较器,用于自定义对象的排序...

    Apache commons-collections4-4.1 Src压缩包

    1. **增强的集合接口**:Commons Collections提供了一系列的装饰器(Decorator)类,它们包装了标准的Java集合接口,如List、Set、Map等,增加了新的功能。例如,`ListUtils`、`MapUtils`和`SetUtils`提供了许多静态...

    2021-2022计算机二级等级考试试题及答案No.17836.docx

    在Java中,集合框架主要由`java.util`包提供支持,其中主要包括`List`、`Set`、`Map`三个接口以及它们的具体实现类,如`ArrayList`、`HashSet`、`HashMap`等。集合的这一特性使得它非常适合于存储对象而非基本数据...

    hibernate源码分析过程

    集合映射可以是 set、list、map、bag、array 等。级联策略控制可以控制集合元素的保存和删除。排序策略可以控制集合元素的顺序。 聚合映射 Hibernate 的聚合映射可以将多个对象聚合到一个对象中。聚合映射可以是...

    程序员面试快速基础知识必读

    重点知识包括进程与线程、内存管理(分页、分段)、调度算法(FCFS、SJF、RR等)、文件系统、死锁条件与避免、操作系统的并发和同步机制(信号量、管程、互斥锁等)。 以上就是《技术面试必备基础知识 CyC2018.pdf...

    C#原生报表操作--设置每页打印20行实例源码

    3. **分页逻辑**:为了实现每页20行,你需要创建一个分页算法。这涉及到计算数据总数,然后确定每个页面包含的数据量。你可以创建一个方法,接受总行数和每页行数作为参数,返回一个数据块的集合,每个数据块代表一...

    linux 所有命令的集合

    ### Linux命令集合详解 #### ac -- 输出用户连接时间 `ac` 命令用于显示用户的连接时间。这对于了解用户何时登录系统非常有用。 #### access -- 确定文件是否可以存取访问 `access` 命令可以帮助判断一个文件是否...

    Redis知识点重点总结

    Redis提供了丰富的命令操作各种数据类型,例如`SET`、`GET`、`INCR`、`HSET`、`LREM`、`SADD`、`ZADD`等,涵盖了增删改查以及排序、分页等功能。 ### 3. 事务(Transactions) Redis支持事务,允许一次性执行多个...

    自定义控件之万能Repeater源码

    2. 数据绑定:如何将数据源(如DataTable、List或其他自定义对象集合)绑定到Repeater控件。 3. 事件处理:如ItemDataBound事件,用于在数据绑定过程中添加额外的逻辑或动态生成HTML。 4. 用户交互处理:处理用户...

Global site tag (gtag.js) - Google Analytics