1. 程式人生 > 其它 >list拆分指定大小的list

list拆分指定大小的list

技術標籤:筆記

public class ListSplitUtil {
    /**
     * @param list 要拆分的list
     * @param size 每次拆分的大小
     * @param <T>
     * @return
     */
    public static <T> List<List<T>> split(List<T> list, int size) {
        if (list == null || list.size() == 0) {
            return
null; } // 獲得資料總量 int count = list.size(); // 計算出要分成幾個批次 int pageCount = (count / size) + (count % size == 0 ? 0 : 1); List<List<T>> temp = new ArrayList<>(pageCount); for (int i = 0, from = 0, to = 0; i < pageCount; i++) { from =
i * size; to = from + size; // 如果超過總數量,則取到最後一個數的位置 to = to > count ? count : to; // 對list 進行拆分 List<T> list1 = list.subList(from, to); // 將拆分後的list放入大List返回 temp.add(list1); // 也可以改造本方法,直接在此處做操作 }
return temp; } } 測試: public class demo { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("1"); list.add("q"); list.add("2"); list.add("b"); list.add("3"); List<List<String>> split = ListSplitUtil.split(list, 2); for (List<String> l:split) { System.out.println(l); } } }

在這裡插入圖片描述