Java中List拆分的方法
Java List拆分
最近看rocketmq源码看到一段比较有意思的代码,对Java List拆分的代码,实现思路比较好。尝试自己去写,思路跟大多数的同学一样,都是取余拆分的方法,当然也可以用Google guava的Lists.partition方法。
代码实现
/**
* Java List按新数组大小拆分
*
* @param list 原始数组
* @param subSize 拆分数组大小
*/
public void doSubList(List<String> list, int subSize) {
if (list == null || list.isEmpty()) {
return;
}
if (list.size() <= subSize) {
//TODO direct do something
}
for (int total = 0; total < list.size(); ) {
List<String> arr = new ArrayList<>(subSize);
for (int i = 0; i < subSize; i++, total++) {
if (total < list.size()) {
arr.add(list.get(total));
} else {
break;
}
}
//TODO new arr do something
}
}