核心思想
- 先算出需要拆分成几等份
- 计算开始索引索引和结束索引
public List<T> get(List<T> list,int index, int size) {
if(index < 0 || index >= size(list, size)){
return null;
}
int start = index * size;
int end = Math.min(start + size, list.size());
return list.subList(start, end);
}
public int size(List<T> list, int size) {
// 算出拆分成多少份,向上取整 com.google.common.*;
return IntMath.divide(list.size(), size, RoundingMode.CEILING);
}