對不起,我的英文不是我的母語。爲什麼實例的ArrayList上的動作.remove()也適用於其他實例
總結: 我創建一個包含Box列表的Pile。 每個Box都包含一個String列表。
我想要做的事: 從第一個Box的String列表中刪除一個特定的String。
會發生什麼: 的特定字符串從第一盒也從所有其他箱中刪除。
類樁:
public class Pile {
public ArrayList<Box> listBox;
public Pile(ArrayList<Box> listToAdd) {
listBox = listToAdd;
}
public void showPile() {
for (Box b : listBox) {
System.out.println(b);
}
}
}
類箱:
public class Box {
public String name;
public ArrayList<String> list;
public Box(String nameToAdd, ArrayList<String> listToAdd) {
name = nameToAdd;
list = listToAdd;
}
public String toString() {
return this.name + " : " + this.list;
}
}
主營:
public class Main {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("AA");
list.add("BB");
list.add("CC");
list.add("DD");
list.add("EE");
Box box1 = new Box("box1", list);
Box box2 = new Box("box2", list);
Box box3 = new Box("box3", list);
ArrayList<Box> listBox = new ArrayList<Box>();
listBox.add(box1);
listBox.add(box2);
listBox.add(box3);
Pile pile = new Pile(listBox);
System.out.println("BEFORE");
pile.showPile();
pile.listBox.get(0).list.remove("CC");
System.out.println("AFTER");
pile.showPile();
}
}
其中給出的結果:
BEFORE
box1 : [AA, BB, CC, DD, EE]
box2 : [AA, BB, CC, DD, EE]
box3 : [AA, BB, CC, DD, EE]
AFTER
box1 : [AA, BB, DD, EE]
box2 : [AA, BB, DD, EE]
box3 : [AA, BB, DD, EE]
所以"CC"
不從box1
列表中刪除只,這也從box2
和box3
列表中刪除。
你知道我在做什麼錯嗎?
謝謝你的幫助。
請提供一個[mcve] - 目前它是不完整的*和*它遠非最小。 –
請[編輯]你的問題,以顯示你如何創建這些星期對象,填充他們的課程,並將它們添加到日曆。 – Kenster
請提供您添加和刪除課程和周的所有課程和主要方法。 –