JAVA工具如何将一个list均分成n个list
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关JAVA工具如何将一个list均分成n个list,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。编程中的需求分批处理一块大数
千家信息网最后更新 2026年11月01日JAVA工具如何将一个list均分成n个list
这篇文章将为大家详细讲解有关JAVA工具如何将一个list均分成n个list,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
编程中的需求
分批处理一块大数据: 例如,从(Excel ,txt ,数据库 )中一行一行的读数据,最终读了1W+数据,然后对这1W+数据又要进行业务处理,一条一条的遍历太慢了。可以把这个大的list拆成n个,然后用n个线程去跑,这样效率就会快很多。下述代码就是其中用到关于的一个工具类: 把一个List均分成n个小的list
思路详解
入参:一个大的list
出参:n个小的list
思路:像小学做除法一样。 10/3=3余1. 10条数据,分成3个list,那每个list分3个还多1个,那只有前面的都多分1个,第一个list分3个然后加1个余数等于4个。第2个list分3个,然后最后一个list分3个。代码如下,可以直接拷贝运行
解决方案
/**
* 将一个list均分成n个list
* @param source
* @return
*/
public static List > averageAssign(Listsource,intn){
List > result=new ArrayList>();
int remainder=source.size()%n; //先计算出余数
int number=source.size()/n; //然后是商
int offset=0;//偏移量(用以标识加的余数)
for(int i=0;i Listvalue;
if(remainder>0){
value=source.subList(i*number+offset, (i+1)*number+offset+1);
remainder--;
offset++;
}else{
value=source.subList(i*number+offset, (i+1)*number+offset);
}
result.add(value);
}
return result;
}
关于JAVA工具如何将一个list均分成n个list就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
数据
工具
余数
一行
代码
内容
思路
文章
更多
知识
篇文章
处理
不错
业务
只有
小学
就是
拷贝
效率
数据库
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
花魁咖啡
蓝思科技飞鸽互联网
美国互联网保险保险科技
中资互联网科技
互联网 科技公司
互联网科技金融
金融科技与互联网金融
亿策互联网科技
深圳市运趣互联网科技有限公司
互联网系的金融科技公司
贵州叶脉互联网科技有限公司所属行业
崇明区互联网教育科技售后服务
注册互联网科技公司经营范围大全
青海科技产业互联网发展
深圳艾果互联网通讯科技
伊宁互联网科技做什么的
智帮互联网科技公司最近动向
杭州披云加互联网科技有限公司
美国互联网科技公司
2021世界互联网领先科技成果发布
河南云网互联网络科技有限公司
互联网科技工作委员会
北京互联网科技
互联网的科技创新
互联网科技小贷
四川狮子座互联网科技
威龙国际互联网科技公司
伊宁互联网科技做什么的
互联网领先科技宣传片
江苏互联网智能科技软件