亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么temp和temp2都是取得數組0位置的數據

public?class?ListSet?{
????//用于存放備選課程的List
????public?List?coursesToSelect;
????public??ListSet(){
????????this.coursesToSelect?=?new?ArrayList();
????}
????//用于往coursesToSelect中添加備選課程
????public?void?testAdd(){
????????//創建一個課程對象,并通過調用add方法,添加到備選課程List中
????????Course?cr1?=?new?Course("1","數據結構");
????????coursesToSelect.add(cr1);
????????Course?temp?=?(Course)?coursesToSelect.get(0);
????????System.out.println("添加了課程:"?+?temp.id?+?":"?+?temp.name);
????????Course?cr2?=?new?Course("2","C語言");
????????coursesToSelect.add(0,cr2);
????????Course?temp2?=?(Course)?coursesToSelect.get(0);
????????int?len?=?coursesToSelect.size();
????????System.out.println("添加了課程:"?+?temp2.id?+?":"?+?temp2.name);
????????System.out.println("數組長度為:"?+?len);
????}
????public?static?void?main(String?[]?args){
????????ListSet?lt?=?new?ListSet();
????????lt.testAdd();
????}
}


正在回答

1 回答

一開始是一個空列表????→????[? ]

coursesToSelect.add(cr1)

運行后,列表增加了元素 cr1。

現在的列表??????????????????→????[ cr1 ]

此時 元素 cr1 的下標為 0 (下標從 0 開始),此時用 temp 讀取位置 0 處的元素 即 cr1.

然后,運行后續的代碼,到了

coursesToSelect.add(0,cr2);

會在位置 0 處插入 cr2, 然后原來的元素會位置后移。

現在的列表 ??????????????????→????[ cr2? cr1 ]

此時,元素 cr2 的下標為 0,cr1 的下標變成了 1,此時用 temp2 讀取位置0 處的元素 即 cr2.

0 回復 有任何疑惑可以回復我~
#1

慕容6209797 提問者

懂了 此0非彼0 謝謝
2019-07-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么temp和temp2都是取得數組0位置的數據

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號