第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么獲取get[0]就正確,獲取get[1]就下標(biāo)越界,不是已經(jīng)添加了一個(gè)嗎,不就相當(dāng)于有兩個(gè)了嗎

public List courSelect;

public ListTest(){

this.courSelect = new ArrayList();

}

public void testAdd(){

Course co = new Course("1","java");

courSelect.add(co);

Course senm = (Course) courSelect.get(0);

System.out.println(senm.id

+senm.name);

Course se = new Course("0","sql");

courSelect.add(0, se);

Course sen = (Course) courSelect.get(0);

System.out.println(sen.id+ " : " +sen.name);

}

public static void main(String[] args){

ListTest li = new ListTest();

li.testAdd();

}


正在回答

4 回答

我簡(jiǎn)單回答一下。

add()方法中的數(shù)字,指的是添加位置。

get()方法中的數(shù)字,指的是要調(diào)用的位置。


add()方法的使用。初次往里面添加的話,添加位置只能是0位置,0可以省略不寫的。 ?當(dāng)?shù)诙涡枰砑拥臅r(shí)候,有兩個(gè)添加位置,0位置和1位置。當(dāng)你添加到0位置的時(shí)候,也就是把原本0位置存在的屬性值,擠到了1位置。你也可以添加到1位置,這個(gè)時(shí)候1可以省略不寫。每一次的添加都是對(duì)位置的從新排序。 ? ? 當(dāng)你需要第三次添加的時(shí)候,有0位置,1位置,2位置這樣3個(gè)選擇。選擇最后一個(gè)位置的話,也就是2位置,2可以省略不寫。選擇1位置或者0位置就是把需要添加的屬性值插進(jìn)去,把原本存在的屬性值擠到下一位。 ? ? ? 上面所說的添加,指的是每次添加一個(gè)屬性值。

get()方法的使用。括號(hào)里面的數(shù)字是幾調(diào)用的就是幾號(hào)位置的屬性值。記住每一次添加都是對(duì)前面屬性值的從新排序,調(diào)用幾號(hào)位置,輸出的就是幾號(hào)位置的屬性值。

這樣應(yīng)該是簡(jiǎn)單易懂吧

26分鐘前



0 回復(fù) 有任何疑惑可以回復(fù)我~

Course co = new Course("1","java");

courSelect.add(co);

Course senm = (Course) courSelect.get(0);

這個(gè)get(1)會(huì)下標(biāo)越界,因?yàn)槟愦藭r(shí)只添加了一個(gè)元素。


Course se = new Course("0","sql");

courSelect.add(0, se);

Course sen = (Course) courSelect.get(0);

這個(gè)get(1)不會(huì)有問題,而且get(1)得出的結(jié)果是("1","java")。

寫了下標(biāo)0,不會(huì)把之前那個(gè)擠掉,會(huì)把之前的擠到下一個(gè)位置1上

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

weixin_慕萊塢4034668 提問者

擠到下一個(gè)位置,那之前的寫成get[1]不就可以嗎,為什么報(bào)錯(cuò),是因?yàn)檫€沒執(zhí)行下面,所以上面先寫成get[1]的話就下標(biāo)越界
2016-10-28 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Sophia3119007 回復(fù) weixin_慕萊塢4034668 提問者

嗯嗯,第一個(gè)寫成get[1]肯定會(huì)越界的,因?yàn)橄聵?biāo)是從0開始的。
2016-10-28 回復(fù) 有任何疑惑可以回復(fù)我~

第一個(gè)get[0],第二個(gè)get[1]應(yīng)該不會(huì)報(bào)錯(cuò)吧,就是重復(fù)取出("1","java")。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

weixin_慕萊塢4034668 提問者

為什么重復(fù)取("1","java")這個(gè)呢,不應(yīng)該是get[0]取下面的,get[1]取這個(gè)嗎("1","java")
2016-10-28 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Sophia3119007 回復(fù) weixin_慕萊塢4034668 提問者

嗯嗯,現(xiàn)在你這個(gè)程序應(yīng)該輸入的是("1","java"),("0","sql");我的意思是如果第二個(gè)get[0]換乘get[1]的話,應(yīng)該輸出的是("1","java"),("1","java"),應(yīng)該報(bào)越界錯(cuò)誤吧。
2016-10-28 回復(fù) 有任何疑惑可以回復(fù)我~
#3

Sophia3119007 回復(fù) weixin_慕萊塢4034668 提問者

不好意思,上一條回復(fù)最后寫錯(cuò)了,應(yīng)該不會(huì)報(bào)越界錯(cuò)誤吧!
2016-10-28 回復(fù) 有任何疑惑可以回復(fù)我~

因?yàn)槟阆旅鎍dd進(jìn)去的時(shí)候,寫了下標(biāo)0,所以把之前那個(gè)擠掉了把

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

weixin_慕萊塢4034668 提問者

不是吧,擠掉的話我之前的為什么還能輸出出來(lái)呢
2016-10-28 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么獲取get[0]就正確,獲取get[1]就下標(biāo)越界,不是已經(jīng)添加了一個(gè)嗎,不就相當(dāng)于有兩個(gè)了嗎

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)