package com.yida.common;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
* 将集合中的数据分页显示
*
* @author Administrator
*
*/
@SuppressWarnings("unchecked")
public class CollectionToPatination<T>
{
private Integer pageCount;
private Integer currentPage;
private Integer size;
protected Integer getSize(Integer size)
{
if (null==size || size.intValue() < 1)
{
this.size = 1;
}
else
{
this.size = size;
}
return this.size;
}
public Integer getCurrentPage()
{
return currentPage;
}
private void setCurrentPage(Integer page)
{
// 判断是否在合法范围内,如果不在自动指定
if (page.intValue() > pageCount.intValue())
{
this.currentPage = pageCount;
}
else if (page.intValue() < 1)
{
this.currentPage = 1;
}
else
{
this.currentPage = page;
}
}
public Integer getPageCount()
{
return pageCount;
}
private void setPageCount(Collection coll)
{
this.pageCount = coll.size() % size.intValue() == 0 ? coll.size()
/ size : coll.size() / size + 1;
}
/**
* 根据传来的数据来分页显示数量,使用截取
*
* @param lst
* @param size
* @param page
* 这个必须为正整数
* @return
*/
@SuppressWarnings("unused")
public List<T> parseCollectionToPatination(Collection coll, Integer size,
Integer page)
{
// 不能放乱
this.getSize(size);
this.setPageCount(coll);
this.setCurrentPage(page);
System.out.println("PD"+(page.intValue()>currentPage.intValue())+" cur:"+this.getCurrentPage());
List l = new ArrayList();
// 取得要得到的开始与结束下标
int start = (this.getCurrentPage().intValue() - 1) * size.intValue()
+ 1;
int end = start + size - 1;
int s = coll.size();
// 遍历集合,查出要取得的数量
for (int h = start; h <= end; h++)
{
int idex = h - 1;
try
{
l.add(coll.toArray()[idex]);
}
catch (IndexOutOfBoundsException ie)
{
}
}
return ((List<T>) l);
}
public static void main(String[] args)
{
List l = new ArrayList();
// Set l=new TreeSet();
l.add("唐亮1");
l.add("唐亮4");
l.add("唐亮5");
l.add("唐亮2");
l.add("唐亮6");
l.add("唐亮3");
Collections.sort(l);
System.out.println(l.size());
for (Object o : new CollectionToPatination<Object>()
.parseCollectionToPatination(l, 2, 3))
{
System.out.println(o);
}
}
}
分享到:
相关推荐
分页是一种常见的Web界面设计,它允许用户通过页面之间的导航来浏览数据集合。分页机制通过一系列页码按钮或导航链接,让用户可以进入下一页或上一页,甚至直接跳转到某一页。这种方法特别适合处理大量数据,可以...
18.0<br>1.23<br><br>1.10<br><br>每秒插入实体<br><br>(20次insert)<br>41<br>21<br>1.95<br><br>更新实体<br><br>(20次单条update)<br>27<br>19<br><br>SqlMap:24<br>1.42<br><br>1.13<br><br>查询结果集(平均101...
814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有的数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 在数据表视图中...
814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有的数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 在数据表视图中...
1487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517....
814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有的数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 在数据表视图中...
1487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517....
1487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517....
814.6.2 选择显示格式 834.6.3 使用输入掩码 874.7 使用Northwind Traders示例数据库 884.8 向现有的数据库添加一个新表 904.8.1 设计Personnel Actions表 914.8.2 创建Personnel Actions表 934.8.3 在数据表视图中...
23.5<br> 15.9<br><br>SqlMap:20.3<br> 1.48<br><br>1.16<br> <br>查询结果集(平均101行)<br><br>(1循环200次select)<br> 1055.1<br> 666.8<br><br>不定字段:710.1<br> 1.58<br><br>1.50<br> <br><br> <br><br>表...
1487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517....
1487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517....
1487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517....
1487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517....
1487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517....
1487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517....
18.0<br>1.23<br><br>1.10<br><br>每秒插入实体<br><br>(20次insert)<br>41<br>21<br>1.95<br><br>更新实体<br><br>(20次单条update)<br>27<br>19<br><br>SqlMap:24<br>1.42<br><br>1.13<br><br>查询结果集(平均101...
Diskmon是一硬盘数据存取实时监控软件 ,能够将 Windows NT/2000/XP 操作系统的硬盘数据存取时间滴水不漏地纪录下来,您还可以将纪录文件储存成 LOG 文字文件。 DiskView DiskView 该软件集成于微软的Windows...
- 创建一个模拟的数据访问类,用于单元测试。 77. **在单元测试中使用FakeDinnerRepository** - 在测试中使用`FakeDinnerRepository`来模拟真实的数据访问层行为。 通过以上步骤,我们不仅可以构建一个完整的ASP...
【计算机日语】是将日语应用于计算机领域的专业术语,主要涵盖了硬件、软件、网络、数据处理、操作系统、编程等多个方面。以下是一些关键概念的详细解释: 1. **ナンバー (number)**:数字,指的是在计算和数据处理...