List 分割
2015-11-23 12:25
387 查看
[java] view plaincopy 01./** 02. * 分割List 03. * 04. * @param list 待分割的list 05. * @param pageSize 每段list的大小 06. * @return List<<List<T>> 07. */ 08. public static <T> List<List<T>> splitList(List<T> list, int pageSize) { 09. int listSize = list.size(); // list的大小 10. int page = (listSize + (pageSize - 1)) / pageSize;// 页数 11. List<List<T>> listArray = new ArrayList<List<T>>();// 创建list数组,用来保存分割后的list 12. for (int i = 0; i < page; i++) { // 按照数组大小遍历 13. List<T> subList = new ArrayList<T>(); // 数组每一位放入一个分割后的list 14. for (int j = 0; j < listSize; j++) {// 遍历待分割的list 15. int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;// 当前记录的页码(第几页) 16. if (pageIndex == (i + 1)) {// 当前记录的页码等于要放入的页码时 17. subList.add(list.get(j)); // 放入list中的元素到分割后的list(subList) 18. } 19. if ((j + 1) == ((j + 1) * pageSize)) {// 当放满一页时退出当前循环 20. break; 21. } 22. } 23. listArray.add(subList);// 将分割后的list放入对应的数组的位中 24. } 25. return listArray; 26. }
相关文章推荐
- stream读越界
- python3 套接字异常(a byte-like object is required not str)
- Java中的线程
- Java画图程序设计
- C语言基础第二篇--基本数据类型
- xilinx_spartan6_io_电平读书笔记
- python实现爬虫统计学校BBS男女比例(三)数据处理
- 实验八 图的遍历
- 微软面试100题
- volatile的用处
- Nginx反向代理配置
- Intervals(差分约束)
- java课程设计-文本编辑器
- 单例设计模式
- hdu--3468(线段树+lazy思想)
- zookeeper 启动错误
- slf4j+logback 的详细配置
- Mybatis 和 Spring配置
- 高德位置纠偏服务
- 123