課程
/后端開(kāi)發(fā)
/Java
/Java入門第三季
add只能訪問(wèn)已有數(shù)據(jù)的0、1 兩個(gè)位置為什么,index寫2不報(bào)錯(cuò)?
2018-09-18
源自:Java入門第三季 4-4
正在回答
你看,原來(lái)couresToSlect只有0,1位,你這個(gè)時(shí)候加cr3到2的位置,講課里說(shuō)了ArrayList()的數(shù)組長(zhǎng)度會(huì)跟著你的加的值增大而增大,你加了cr3,這個(gè)時(shí)候ArrayList()的數(shù)組長(zhǎng)度就會(huì)變成3,但你要是越過(guò)了第3位直接加在第四位也就是couresToSlect.add(3, cr3),中間空了一位,ArrayList()的數(shù)組長(zhǎng)度將不會(huì)跟著改變,系統(tǒng)也就會(huì)報(bào)錯(cuò)。注意?。。。翰贿^(guò)這都是幾年前的視頻了,現(xiàn)在的jdk版本中已經(jīng)可以這樣跳著加數(shù)組了,你可以試著在你的myeclipse上打一下這個(gè)代碼,運(yùn)行已經(jīng)不會(huì)報(bào)錯(cuò)了,會(huì)直接加長(zhǎng)ArrayList()的數(shù)組長(zhǎng)度到你指定的地方
慕桂英9243443 提問(wèn)者
不會(huì)報(bào)錯(cuò) 但你運(yùn)行一下就錯(cuò)了
不好意思,剛剛說(shuō)錯(cuò)了一個(gè)地方,現(xiàn)在的jdk也不可以跳著加,不好意思 搞錯(cuò)了 剛剛說(shuō)完特意查了下,其它說(shuō)的都是對(duì)的
其實(shí)就是視頻里的程序
package com.imooc.collection;
import java.nio.charset.MalformedInputException;
import java.util.ArrayList;
import java.util.List;
/*
?* 備選課程類;
?*/
public class ListTest {
*用于存放備選課程的List?
*/
public List couresToSlect;
public ListTest() {
// TODO Auto-generated constructor stub
this.couresToSlect=new ArrayList();
}
* 用于往courseToSelect中添加備選課程
public void testAdd() {
// 創(chuàng)建一個(gè)課程對(duì)象,并通過(guò)調(diào)用 ArrayList的add方法,添加到備選課程list中
Course cr1= new Course("1", "數(shù)據(jù)結(jié)構(gòu)");
couresToSlect.add(cr1);
//通過(guò) ArrayList的get方法,讀取list中第一個(gè)元素,取出需要類型轉(zhuǎn)換;
Course temp =(Course) couresToSlect.get(0);
System.out.println("添加了課程:"+temp.id+":"+temp.name);
Course cr2 =new Course("2", "C語(yǔ)言");
couresToSlect.add(0, cr2);//指定位置插入list,cr1擠到1位置;
Course temp2 =(Course) couresToSlect.get(0);
System.out.println("添加了課程:"+temp2.id+":"+temp2.name);
Course cr3 =new Course("3", "test");
couresToSlect.add(2, cr3);//能訪問(wèn)只是已有數(shù)據(jù)位置0、1并插入數(shù)據(jù),為什么這里填2不會(huì)報(bào)錯(cuò)?
}?
public static void main(String[] args) {
ListTest lt =new ListTest();
lt.testAdd();
程序不貼出來(lái)沒(méi)法判斷啊。
舉報(bào)
Java中你必須懂得常用技能,不容錯(cuò)過(guò)的精彩,快來(lái)加入吧
2 回答數(shù)組越界問(wèn)題
1 回答請(qǐng)問(wèn)我這個(gè)為啥會(huì)報(bào)越界異常呢
2 回答數(shù)組下標(biāo)越界
1 回答為何會(huì)越界異常
2 回答為什么越界了? java.lang.StringIndexOutOfBoundsException
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-09-25
你看,原來(lái)couresToSlect只有0,1位,你這個(gè)時(shí)候加cr3到2的位置,講課里說(shuō)了ArrayList()的數(shù)組長(zhǎng)度會(huì)跟著你的加的值增大而增大,你加了cr3,這個(gè)時(shí)候ArrayList()的數(shù)組長(zhǎng)度就會(huì)變成3,但你要是越過(guò)了第3位直接加在第四位也就是couresToSlect.add(3, cr3),中間空了一位,ArrayList()的數(shù)組長(zhǎng)度將不會(huì)跟著改變,系統(tǒng)也就會(huì)報(bào)錯(cuò)。注意?。。。翰贿^(guò)這都是幾年前的視頻了,現(xiàn)在的jdk版本中已經(jīng)可以這樣跳著加數(shù)組了,你可以試著在你的myeclipse上打一下這個(gè)代碼,運(yùn)行已經(jīng)不會(huì)報(bào)錯(cuò)了,會(huì)直接加長(zhǎng)ArrayList()的數(shù)組長(zhǎng)度到你指定的地方
2019-03-09
不會(huì)報(bào)錯(cuò) 但你運(yùn)行一下就錯(cuò)了
2018-09-25
不好意思,剛剛說(shuō)錯(cuò)了一個(gè)地方,現(xiàn)在的jdk也不可以跳著加,不好意思 搞錯(cuò)了 剛剛說(shuō)完特意查了下,其它說(shuō)的都是對(duì)的
2018-09-19
其實(shí)就是視頻里的程序
package com.imooc.collection;
import java.nio.charset.MalformedInputException;
import java.util.ArrayList;
import java.util.List;
/*
?* 備選課程類;
?*/
public class ListTest {
/*
*用于存放備選課程的List?
*/
public List couresToSlect;
public ListTest() {
// TODO Auto-generated constructor stub
this.couresToSlect=new ArrayList();
}
/*
* 用于往courseToSelect中添加備選課程
*/
public void testAdd() {
// 創(chuàng)建一個(gè)課程對(duì)象,并通過(guò)調(diào)用 ArrayList的add方法,添加到備選課程list中
Course cr1= new Course("1", "數(shù)據(jù)結(jié)構(gòu)");
couresToSlect.add(cr1);
//通過(guò) ArrayList的get方法,讀取list中第一個(gè)元素,取出需要類型轉(zhuǎn)換;
Course temp =(Course) couresToSlect.get(0);
System.out.println("添加了課程:"+temp.id+":"+temp.name);
Course cr2 =new Course("2", "C語(yǔ)言");
couresToSlect.add(0, cr2);//指定位置插入list,cr1擠到1位置;
Course temp2 =(Course) couresToSlect.get(0);
System.out.println("添加了課程:"+temp2.id+":"+temp2.name);
Course cr3 =new Course("3", "test");
couresToSlect.add(2, cr3);//能訪問(wèn)只是已有數(shù)據(jù)位置0、1并插入數(shù)據(jù),為什么這里填2不會(huì)報(bào)錯(cuò)?
}?
public static void main(String[] args) {
ListTest lt =new ListTest();
lt.testAdd();
}
}
2018-09-19
程序不貼出來(lái)沒(méi)法判斷啊。