天天看點

java 等分切割圖檔_java 将list按指定大小等分,最後多餘的單獨一份

//将list按blockSize大小等分,最後多餘的單獨一份

public static  List> subList(List list, int blockSize) {

List> lists = new ArrayList>();

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 

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;

}