Java List集合分割
在某些业务场景里,我们需要将一个大的List集合分割成多个小的集合,将小的集合作为业务参数的入参
1.代码如下
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class CommonUtil {
/**
* 按指定大小,分隔集合,将集合按规定个数分为n个部分
* @param <T>
*
* @param list
* @param len
* @return
*/
public static <T> List<List<T>> splitList(List<T> list, int len) {
if (list == null || list.isEmpty() || len < 1) {
return Collections.emptyList();
}
List<List<T>> result = new ArrayList<>();
int size = list.size();
int count = (size + len - 1) / len;
for (int i = 0; i < count; i++) {
List<T> subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
result.add(subList);
}