Java将List按指定数量拆分成多个的两种实现方法
发布时间:2022-12-01 16:01:52 377 相关标签: # webkit
有时候我们需要将大集合按指定的数量分割成若干个小集合。(比如:集合作为SQL中IN的参数,而SQL又有长度限制,所以需要分批分几次进行查询)
1、使用google guava对List进行分割
需要引入google guava依赖,引入后可以使用,简单方便但是需要引入额外依赖
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>
拆分调用
List<T> list = new ArrayList();
//拆分list
List<List<T>> partition = Lists.partition(list , 200);
2、自己手写方法实现将List拆分成N个
List list = new ArrayList();
//拆分list
List<List> partition = Lists.partition(list , 200);/**
* 按指定大小,分隔集合,将集合按规定个数分为n个部分
*
* @param
*
* @param list
* @param len
* @return
*/
public static List<List> splitList(List list, int len) {
if (list == null || list.isEmpty() || len < 1) {
return Collections.emptyList();
}
List<List> result = new ArrayList<>();
int size = list.size();
int count = (size + len - 1) / len;
for (int i = 0; i < count; i++) {
List subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
result.add(subList);
}
return result;
}
文章来源: https://blog.51cto.com/u_15733182/5888510
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报