所以我定義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