JAVA工具如何将一个列表均分成n个列表

介绍

这篇文章将为大家详细讲解有关JAVA工具如何将一个列表均分成n个列表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

编程中的需求

分批处理一块大数据,例如,从(Excel, txt,数据库)中一行一行的读数据,最终读了1 w +数据,然后对这1 w +数据又要进行业务处理,一条一条的遍历太慢了。可以把这个大的单拆成n个,然后用n个线程去跑,这样效率就会快很多。下述代码就是其中用到关于的一个工具类:把一个列表均分成n个小的列表

思路详解

<李>

入参:一个大的列表

<李>

出参:n个小的列表

<李>

思路:像小学做除法一样,10/3=3余1。10条数据,分成3个名单,那每个列表分3个还多1个,那只有前面的都多分1个,第一个列表分3个然后加1个余数等于4个。第2个列表分3个,然后最后一个列表分3个。代码如下,可以直接拷贝运行

解决方案

 <代码>/* * 
,*才能将一个列表均分成n个列表
,* @param源才能
,*才能@return
,*/才能
,,public  static  & lt; T>, List  & lt; List祝辞,averageAssign (List源,intn) {
,,,,List  & lt; List在();
,,,,int 剩余=source.size () % n;,//先计算出余数
,,,,int 数量=source.size ()/n;,//然后是商
,,,抵消,int =0;//偏移量(用以标识加的余数)
,,,,(int 我=0;i,,,,,,List价值;
,,,,,,如果(remainder> 0) {
,,,,,,,,价值=https://www.yisu.com/zixun/source.subList(我*数量+偏移量,(i + 1) * +偏移量+ 1);
,,,,,,,,剩下的,
,,,,,,,,抵消+ +;
,,,,,其他}{
,,,,,,,,价值=https://www.yisu.com/zixun/source.subList(我*数量+偏移量,数量(i + 1) * +偏移量),
,,,,,}
,,,,,,result.add(价值);
,,,}
,,,,return 结果;
,}

关于JAVA工具如何将一个列表均分成n个名单就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

JAVA工具如何将一个列表均分成n个列表