所以我定义2周的ArrayList用的ArrayList内纠缠的ArrayList ......很奇怪的问题
ArrayList <ArrayList> var1 = new ArrayList<ArrayList>();
ArrayList <ArrayList> var2 = new ArrayList<ArrayList>();
然后我初始化VAR1:
for(i=0;i<3;i++){
var1.add(new ArrayList<Integer>());
var1.get(i).add(1);
}
然后,我复制到VAR1和VAR2我抹去VAR1 ..
for(int k=0;k<var1.size();k++){
var2.add(var1.get(k));
}
var1.clear();
然后我复制到VAR2 var1的2倍
for(int k=0;k<var2.size();k++){
var1.add(var2.get(k));
for(int k=0;k<var2.size();k++){
var1.add(var2.get(k));
而且现在stragest的事情发生......阵列var1.get(k)
缠var1.get(k+3)
......所以0 3,1 4和2以下列方式5 ...
如果我这样做var1.get(0).clear()
它不仅抹去var1.get(0)
...但我还会清除var1.get(3)
如果我做var1.get(0).add(1)
...它不仅能补充整数1到var1.get(0)
但同时也增加了它变成var1.get(3)
而且,如果我做var2.clear()
它也清除var1
请一些好的灵魂可以告诉我为什么这个魔术发生了吗?
这样做的正确方法是什么?
感谢
感谢救了我的命:) – Felipe