您的位置:首页 > 其它

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.    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: