1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
public static <T> List<List<T>> splitList(List<T> list, int blockSize) { List<List<T>> lists = new ArrayList<List<T>>(); if(blockSize == 1){ lists.add(list); return lists; } if (list != null && blockSize > 0) { int listSize = list.size(); if(listSize<=blockSize){ lists.add(list); return lists; } int batchSize = listSize / blockSize; int remain = listSize % blockSize; for (int i = 0; i < batchSize; i++) { int fromIndex = i * blockSize; int toIndex = fromIndex + blockSize; System.out.println("fromIndex=" + fromIndex + ", toIndex=" + toIndex); lists.add(list.subList(fromIndex, toIndex)); } if(remain>0){ System.out.println("fromIndex=" + (listSize-remain) + ", toIndex=" + (listSize)); lists.add(list.subList(listSize-remain, listSize)); } } return lists; }
|
近期评论