本文由黑壳博客转发
本文来源 JAVA 中将一个 List 等分成 n 个 list 的工具方法
一篇一问
在写日报周报月报的时候,你们会吹一下自己写的牛逼程序吗?
正文
壳叔就喜欢推荐这种初级程序员喜欢的小工具类
比较靠谱的 List 集合切分工具类,推荐
/** * 将一个list均分成n个list,主要通过偏移量来实现的 * @param source * @return */ public static <T> List<List<T>> averageAssign(List<T> source,int n){ List<List<T>> result=new ArrayList<List<T>>(); int remaider=source.size()%n; //(先计算出余数) int number=source.size()/n; //然后是商 int offset=0;//偏移量 for(int i=0;i<n;i++){ List<T> value=null; if(remaider>0){ value=source.subList(i*number+offset, (i+1)*number+offset+1); remaider--; offset++; }else{ value=source.subList(i*number+offset, (i+1)*number+offset); } result.add(value); } return result; }
测试例子如下:
public static void main(String[] args) { List<Integer> integers=new ArrayList<>(); integers.add(1); integers.add(2); integers.add(3); integers.add(4); integers.add(5); List<List<Integer>> lists=averageAssign(integers, 2); System.out.println(lists); } ``` 结果如下: [[1, 2, 3], [4, 5]] ### About 欢迎在评论写下你的程序员趣事~~ 欢迎加入我们的小组织 ,大家都叫壳叔,期待你的到来。 ### 欢迎关注公众号  ### 这是我们的Group 黑壳家根据地 Q群:[200408242](http://shang.qq.com/wpa/qunwpa?idkey=25b503daf8d907bcb7cbcecd2ee512ef6cad4bd31f048bea7b0103a17397cf7a)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于