private Map<Integer, List<Long>> splitUidsByBatch(List<Long> uids, int batchSize) {
Map<Integer, List<Long>> batchMap = new HashMap<Integer, List<Long>>();
int batch = uids.size() / batchSize;
int batchRemainder = uids.size() % batchSize;
for (int i = 0; i <= batch; i++) {
int fromIndex = i * batchSize;
int toIndex;
if (i < batch) {
toIndex = (i + 1) * batchSize;
} else {
toIndex = i * batchSize + batchRemainder;
}
List<Long> subUidList = uids.subList(fromIndex, toIndex);
if (subUidList != null && subUidList.size() != 0) {
batchMap.put(i, subUidList);
}
}
return batchMap;
}
转载于:https://blog.51cto.com/keeplearning/1240328