[英]add ArrayList to multiple ArrayList in java
嗨,我有ArrayLists的问题,我有3个列表
ArrayList1<Integer>=[1,2,3]
ArrayList2<Integer>=[]
ArrayList3<ArrayList<Integer>>=[]
ArrayList1元素用于向ArrayList2添加值
for(int i:ArrayList1)
{
for(int a=0;a<i;a++)
{
ArrayList2.add(a);
}
}
并且工作正常,没有问题,但是现在我想为ArrayList1中的每个元素添加ArrayList2到ArrayList3,这是我想出的,但它不起作用
for(int i:ArrayList1)
{
for(int a=0;a<i;a++)
{
ArrayList2.add(a);
}
ArrayList3.add(ArrayList2);
}
只需使用addAll
和Collections.fill
。
例
list2.addAll(list1);
list3 = new ArrayList<ArrayList<Integer>>(list1.size());
Collections.fill(list3, list2);
请注意, list3
将使用相同的list2
实例填充。
这意味着对list2
每次更改都会反映在list3
每个元素中。
如果这不是您期望的行为,请遍历list1
的长度并添加一个new ArrayList<Integer>(list2)
。
for(int a=0;a<i;a++)
是错的。 您一定不要在a < i
处停下来,这没有任何意义! 您想将整个arrayList2添加到ArrayList3,而不是等于ArrayList1中int i值的整数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.