看了一下这个贴子
http://www.iteye.com/topic/728692
大多数人都从数据库来想办法.
我是想办法抽象一下他所需要的逻辑.
class Page implements Iterator<List>{
int page = 5;
int start = 0 ;
int split = start + page ;
List list ;
public Page(List list ){
this.list = list;
}
public Page(List list ,int page ){
this.list = list;
this.page =page;
}
public boolean hasNext() {
return start < list.size();
}
public List next() {
List result = list.subList(start, split );
start = split;
split += page;
split = Math.min(split,list.size());
return result;
}
public void remove() {
throw new RuntimeException("not to change");
}
}
拆分数据 .
用法:
List list = new ArrayList<String>();
for(int i = 0 ; i <10; i++){
list.add("A"+i);
}
Iterator<List> p = new Page(list);
while(p.hasNext()){
System.out.println(p.next());
}
分享到:
相关推荐
在编程领域,大数阶乘是一项常见的挑战,尤其是在处理大整数时。本文将深入探讨如何使用C++语言实现大数阶乘的功能。C++标准库并不直接支持大数操作,但通过自定义数据结构和算法,我们可以创建一个能够处理任意大数...
论文:大数四则运算的C++实现.mht 网上下载的
在jia函数中,我们首先将两个大数x和y合并成一个字符串pp,然后将其拆分成两个字符串a和b。接着,我们使用了一个for循环来实现大数的加法运算。在这个循环中,我们首先将a和b的每一位数字相加,然后将结果取模10以...
以下是一个简单的C++实现示例,基于字符串来表示大数: ```cpp #include #include class BigInteger { std::string value; public: // ... 构造函数、析构函数、输入输出操作等 BigInteger operator*(const ...
在编程领域,大数是指超过普通整型变量所能表示范围的数值。在处理大数时,通常需要使用特殊的算法...在实际开发中,还可以考虑优化算法,比如使用Karatsuba算法或Toom–Cook算法等高效的大数乘法算法,提高计算效率。
在乘法运算函数中,我们先从一个栈中取出一个大数 S1 的个位上的数字 a,再从另一个大数 S2 取出一个个位数字 b,接着将 a*b+d(d 为进位数)的个位数字压到栈 S 中,十位上进位的数字先保存到 d 中,然后从 S2 中取出...
在文件名"LarghNumfactorial"中,我们可以推测这是一个实现大数阶乘的源代码文件。打开这个文件,我们可以学习到如何在VC++中具体实现大数阶乘的算法,包括大数的表示、存储、乘法以及阶乘计算的整个过程。通过对这...
在编程领域,尤其是在C++这样的语言中,处理大数(超过标准整型或浮点型所能表示的范围的数字)是一项挑战。大数问题通常涉及到对超出了常规数据类型限制的数值进行运算,如加法、减法、乘法和除法。在C++中,没有...
而在C语言中,通常需要自定义数据结构,如数组,来存储大数,并实现相应的算法来执行加减乘除等操作。 大数减法的基本思想类似于我们平时进行的算术运算,主要步骤包括: 1. 对齐:由于大数可能是不同长度,需要在...
由于C语言没有内置的大数类型,我们可以定义一个结构体,包含一个整型数组和数组长度,来表示大数。例如: ```c typedef struct { unsigned int *digits; // 存储大数的位 int length; // 数组长度,表示大数的...
在计算机科学领域,大数运算是一项关键的技术,特别是在加密、分布式计算、数学模拟以及金融计算等领域。当处理的数字超出普通整型或浮点型数据类型的范围时,大数运算就显得尤为重要。以下是对“大数运算”这一主题...
这个结构体包含两个成员:一个short类型的数组`add`,用来存储大数的每一位;一个int类型的变量`n`,记录大数的位数。`add`数组长度设为`max+1`,其中`max`为2002,意味着可以存储最大2001位的数字,考虑到最高位为...
在计算机科学中,大数(Big Number)是...总之,大数四则运算是计算机科学中一个重要的基础概念,它涉及数据结构的设计、算法的选择以及性能优化等多个方面。理解和掌握大数运算对于开发高效、准确的计算程序至关重要。
通常,大数是通过数组或者向量来表示的,其中每个元素存储大数的一部分(例如,一个数字的每一位)。在本项目中,可以预见的是,大数可能被表示为一个`std::vector<int>`,其中每个元素代表一个数字位。 2. **大数...
本文将深入探讨一个基于C语言编写的大数运算器,虽然只有可执行文件“大数运算器.exe”,没有源代码可供参考,但我们仍能从中挖掘出不少有价值的知识点。 1. **C语言基础**:C语言是一种底层、高效的编程语言,被...
5. **内存管理**:及时释放不再使用的变量,尤其是大数组,以节省内存资源。 6. **魔术方法避免**:尽量避免使用`__get`、`__set`、`__autoload`等魔术方法,它们会增加不必要的性能负担。 7. **文件包含优化**:`...
一、独立完成部分 1、大数相乘。要求实现两个十进制大整数的相乘(100位以上),输出乘法运算的...编写一个游戏程序,如俄罗斯方块、贪吃蛇、扫雷、简单射击类游戏等,题目自拟,要求具备一定功能难度,代码性能高。
更简单的方法是使用扩展的竖式乘法,将大数拆分成多位,然后对每一位进行乘法运算,最后将结果合并。 大数除法:大数除法相对复杂,可以使用长除法算法,它类似于手动进行的除法过程,逐步计算商和余数。首先估计一...
为了优化处理效率或满足特定需求,我们可能会需要将这个大数组按照某个倍数拆分成多个小数组。这个问题的解决方案在PHP中可以通过原生函数实现,无需额外依赖库。下面我们将详细讨论如何实现这一功能,并提供相关的...
本篇将围绕标题"**C++大数运算源代码**"和描述中的内容,深入探讨如何在C++中实现大数运算。 首先,我们关注到压缩包内的两个文件:`杨闽-C语言大数预算程序.cpp`和`HugeInt.h`。`HugeInt.h`很可能是一个头文件,...