需求:当list长度过长而需要切分场景
可用google goouva工具包中的切分
/**
* 将list切分为合适长度的list
* @param list 被切分list
* @param len 切分长度
* @param <T>
* @return
*/
public static <T> List<List<T>> splitList(List<T> list, int len) {
if (list == null || list.size() == 0) {
return null;
}
if (len < 1) {
throw new RuntimeException("截取长度不能小于1");
}
int size = list.size();
int count = (size + len - 1) / len;
List<List<T>> result = new ArrayList<>(count);
for (int i = 0; i < count; i++) {
List<T> subList = new ArrayList<>(list.subList(i * len, ((i + 1) * len > size ? size : (len * (i + 1)))));
result.add(subList);
}
return result;
}