博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java平均拆分list
阅读量:6279 次
发布时间:2019-06-22

本文共 1218 字,大约阅读时间需要 4 分钟。

hot3.png

为了使用并发计算,有时候需要对list做拆分。而java中默认的subList方法满足不了这种需求,那就自己动手写一个吧。

package demo18;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import org.python.google.common.collect.Lists;/** * 对List进行拆分,用于分布式计算 *  * @author mengfeiyang * */public class ListSplit
{ public List
> split(List
sList, int num) { List
> eList = new ArrayList
>(); List
gList; int size = (sList.size()) / num; int size2 = (sList.size()) % num; int j = 0; int xx = 0; for (int i = 0; i < num; i++) { gList = new ArrayList
(); for (j = xx; j < (size + xx); j++) { gList.add(sList.get(j)); } xx = j; eList.add(gList); } if (size2 != 0) { gList = new ArrayList
(); for (int y = 1; y < size2 + 1; y++) { gList.add(sList.get(sList.size() - y)); } eList.add(gList); } return eList; } public static void main(String[] args) { //构造一个待拆分的list List
ll = Lists.newArrayList("a","b","c","d","e"); ListSplit
ls = new ListSplit
(); //把list平均拆分成2个,若不能平均拆分,多出的一个会单独保存到一个list中。 List
> li = ls.SplitList(ll, 2); for(List
l : li){ System.out.println(Arrays.toString(l.toArray()));//打印出被拆分后的每个list中的值 } }}

输出:

092041_fC7H_2391658.png

转载于:https://my.oschina.net/u/2391658/blog/703032

你可能感兴趣的文章
pitfall override private method
查看>>
!important 和 * ----hack
查看>>
聊天界面图文混排
查看>>
控件的拖动
查看>>
svn eclipse unable to load default svn client的解决办法
查看>>
Android.mk 文件语法详解
查看>>
QT liunx 工具下载
查看>>
内核源码树
查看>>
Java 5 特性 Instrumentation 实践
查看>>
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>