Java工具类_List列表或Array数组按指定大小分组

来源:互联网 发布:淘宝锐力运动户外 编辑:程序博客网 时间:2024/06/12 05:28

主要用于:批量取一部分数据循环处理


import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * 列表或数组按指定大小分组,用于批量取一部分数据循环处理 * */public class ArraySplitUtil<T> {    /**     * 按指定大小对列表分组     * @param list     * @param splitSize     * @return     */    public List<List<T>> splistList(List<T> list, int splitSize) {        if (null == list) {            return null;        }        int listSize = list.size();        List<List<T>> newList = new ArrayList<List<T>>();        if (listSize < splitSize) {            newList.add(list);            return newList;        }        int addLength = splitSize;        int times = listSize / splitSize;        if (listSize % splitSize != 0) {            times += 1;        }        int start = 0;        int end = 0;        int last = times - 1;        for (int i = 0; i < times; i++) {            start = i * splitSize;            if (i < last) {                end = start + addLength;            } else {                end = listSize;            }            newList.add(list.subList(start, end));        }        return newList;    }    /**     * 按指定大小对数组分组     * @param array     * @param splitSize     * @return     */    public List<T[]> splistArray(T[] array, int splitSize) {        if (null == array) {            return null;        }        int listSize = array.length;        List<T[]> newList = new ArrayList<T[]>();        if (listSize < splitSize) {            newList.add(array);            return newList;        }        int addLength = splitSize;        int times = listSize / splitSize;        if (listSize % splitSize != 0) {            times += 1;        }        int start = 0;        int end = 0;        int last = times - 1;        for (int i = 0; i < times; i++) {            start = i * splitSize;            if (i < last) {                end = start + addLength;            } else {                end = listSize;            }            newList.add(Arrays.copyOfRange(array, start, end));        }        return newList;    }}


原创粉丝点击