前言:
当前朋友们对“分割数组java”都比较珍视,朋友们都需要了解一些“分割数组java”的相关知识。那么小编也在网上收集了一些关于“分割数组java””的相关知识,希望姐妹们能喜欢,大家一起来了解一下吧!有时候我们需要将大集合按指定的数量分割成若干个小集合。(比如:集合作为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();//拆分listList<List<T>> partition = Lists.partition(list , 200);2、自己手写方法实现将List<T>拆分成N个
分法代码:
/** * 按指定大小,分隔集合,将集合按规定个数分为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); } return result; }
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #分割数组java