package com.snail.util; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List; /** * 分页工具类 * @author penghuaiyi * @date 2013-08-30 */ public class PageUtils { /** * 数组分页 * @param source 源数组 * @param pageSize 每页大小 * @return 分页后的数组列表 */ public static <T> List<T[]> pageArray(T[] source, int pageSize){ int totalLength = source.length; //总的数据条数 int totalPage = totalLength%pageSize==0 ? totalLength/pageSize : totalLength/pageSize+1; //总的页数 List<T[]> list = new ArrayList<T[]>(totalPage); for(int page=1; page<=totalPage; page++){ int startIndex = (page-1)*pageSize; int endIndex = startIndex+pageSize-1; if(endIndex>=totalLength){ endIndex = totalLength-1; } int len = endIndex-startIndex+1; T[] pageData = (T[]) Array.newInstance(source.getClass().getComponentType(), len); System.arraycopy(source, startIndex, pageData, 0, len); list.add(pageData); } return list; } /** * List分页 * @param source 源list * @param pageSize 每页大小 * @return 分页后的数据列表 */ public static <T> List<List<T>> pageList(List<T> source, int pageSize){ int totalLength = source.size(); //总的数据条数 int totalPage = totalLength%pageSize==0 ? totalLength/pageSize : totalLength/pageSize+1; //总的页数 List<List<T>> list = new ArrayList<List<T>>(totalPage); for(int page=1; page<=totalPage; page++){ int startIndex = (page-1)*pageSize; int endIndex = startIndex+pageSize-1; if(endIndex>=totalLength){ endIndex = totalLength-1; } List<T> pageData = source.subList(startIndex, endIndex+1); list.add(pageData); } return list; } public static void testPageArray(){ Integer[] source = new Integer[100]; for(int i=0;i<100;i++){ source[i] = i; } List<Integer[]> rtn = pageArray(source,15); for(Integer[] value : rtn){ for(Integer in : value){ System.out.print(in+" "); } System.out.println(); } } public static void testPageList(){ List<Integer> source = new ArrayList<Integer>(100); for(int i=0;i<100;i++){ source.add(i); } List<List<Integer>> rtn = pageList(source,15); for(List<Integer> value : rtn){ for(Integer in : value){ System.out.print(in+" "); } System.out.println(); } } /** * @param args */ public static void main(String[] args) { testPageArray(); System.out.println("*******************"); testPageList(); } }
相关推荐
$list = db('user')->paginate(10,false,['query'=>array('id' => $id)]); 其它参数 // 总数据 $this->assign(‘total’,$list->total()); // 总页数 $total= ceil($list->total() / 10); $this->assign(...
在实际应用中,我们通常会封装一个通用的分页插件或函数,以减少重复代码。这个函数接受参数如数据源、每页数量、当前页数等,然后根据这些参数进行必要的计算和DOM更新。为了扩展功能,可以添加自定义事件或者回调...
2. **集合List分页**: 对于服务器端生成的集合,如Java的List,我们通常需要在服务器端完成分页逻辑,然后通过HTTP请求返回分页后的数据。这涉及到服务器端的编程,比如使用Spring MVC框架时,可以利用`Pageable`...
在本例中,分页控件与List对象绑定,意味着当用户在分页控件中操作时,会触发相应的请求,获取对应页的数据并填充到列表中。 1. **数据绑定**:这是将服务器端数据与前端界面元素关联的技术,使得数据的改变能实时...
文件名为"PAGE"可能代表这个分页工具类的源代码文件,里面包含了上述功能的实现。在实际开发中,可以将这个工具类封装成一个自定义组件,便于在多个项目中复用。 综上所述,FLEX4 分页工程的核心是通过工具类实现对...
1. **数据来源**:`Page`类中的`data`字段类型为`Object`,这意味着它可以是任何类型的集合或数组,如`List`、`Array`等。 2. **性能优化**:为了提高性能,可以考虑使用更高效的集合类型或者缓存机制来存储数据。 3...
使用 PageHelper5.0.0 实现 Mybatis 分页插件可以帮助开发者快速实现物理分页操作,提高开发效率和代码可读性。通过在 Service 层中调用 PageHelper.startPage() 方法,并在 Js 代码中使用 PageInfo 对象,可以轻松...
这个分页插件可能还提供了其他高级功能,如自定义样式、跳转至指定页、分页按钮数量控制等,具体使用方法可以查看插件的官方文档或示例代码。 总的来说,使用jQuery实现前台分页是一种高效且灵活的方法,它允许...
`Page`类提供了`show()`方法,用于生成分页的HTML代码。默认情况下,它会根据设定的样式生成完整的分页链接。例如: ```php echo $Page->show(); // 输出分页HTML ``` 4. **获取分页数据**: 调用`Page`类的`...
业务代码中使用分页时,通常不需要显式地声明一个Page对象,可以直接在Mapper接口方法中获取分页信息。 5. Spring Boot使用方法 当前文档中提到Spring Boot待定使用方法,不过通常情况下,如果已经添加了依赖,可以...
ThinkPhp仿百度分页类,在ThinkPhp3.1.3下测试通过 Author: 泡泡堂 <46445280@qq.com> ... $arr = $m->where($map)->limit($page->firstRow.','.$page->listRows)->select(); echo $show."<hr>"; print_r($arr);
PHP分页类,样式可以自定义、支持javascript分页、各种框架使用均可配置 $pageNo = isset($_REQUEST['pageNo']) ?... ->setItemConfig(array('list'=>array('size'=>5))); echo $paginator->createString();
### PageHelper 分页详细文档 #### 环境与技术栈介绍 - **JDK版本**: JDK1.8 - **Web容器**: Tomcat7及以上版本 - **框架**: SSM(Spring + SpringMVC + MyBatis) - **数据库**: Oracle #### PageHelper 分页...
- 分页组件:Flex提供了一些内置的分页组件,如DataGrid和List,它们通常带有内置的分页功能。开发者可以通过设置其属性,如pageSize(每页显示条目数),currentPage(当前页数)等来实现分页。 - 自定义分页:...
需要注意的是,代码中使用了new Array()构造数组,这是一种较旧的JavaScript数组创建方式,现代JavaScript推荐使用[]字面量或Array构造函数来创建数组。 3. XML文件结构 从给定的XML代码示例来看,它描述了一个...
1. **数据集(Data Provider)**:分页的基础是数据集,它可以是Array、ArrayCollection或其他支持数据绑定的数据源。数据集应包含所有要显示的数据,并负责管理分页逻辑。 2. **Pagination组件**:Flex并没有内置...
在Flex中,`DataGrid`组件是最常用的用于展示表格数据的组件,它可以绑定到各种数据源,包括Array、XMLList、甚至远程数据服务。在处理大量数据时,我们通常不会一次性加载所有数据,而是通过分页的方式逐页加载。`...
这里假设我们有一个名为`$ApiConf.api_order_detail_list`的接口,它需要一个`start`参数来指定数据的起始位置。在`success`回调函数中,我们更新`records`(数据列表)、`start`(当前数据起始位置)和`total`(总...
### PageHelper 分页插件使用详解 #### 一、PageHelper简介 PageHelper是一款针对MyBatis的强大分页插件,它支持多种数据库,并且能够为开发者提供方便快捷的分页功能实现。PageHelper不仅提供了丰富的自定义设置...