JAVA 均分算法

457 阅读1分钟

核心思想

  1. 先算出需要拆分成几等份
  2. 计算开始索引索引和结束索引
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);
}