假设我有list=[0,1,2,3,4,5](总是可以被三整除,比如 6,9,12,15.. 项目)。我想创建新的三个列表并将此列表的 1/3 复制到每个新创建的列表中。此列表的示例将是:newlist1=[0,1]newlist2=[2,3]newlist3=[4,5]我的实际代码:int equalPart=numberOfVms/3; // 3rd part of VM's is going in each node type //putting vms for each list . number of vms = number of items in listfor vm System.out.println("equal parts =" +equalPart); for(int div=0 ; div<numberOfVms; div++) { = listForVm.get(div); } 希望问题是清楚的。
1 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
如果您使用的是 Java 8,则可以使用:
int size = list.size() / 3;
List<List<Integer>> result = IntStream.range(0, 3)
.mapToObj(l -> list.subList(l * size, (l + 1) * size))
.collect(Collectors.toList());
输出
[[0, 1], [2, 3], [4, 5]]
在你到达这个部分之前,你必须检查分区的大小和数量,否则你会得到一个例外。
添加回答
举报
0/150
提交
取消
