這篇文章主要介紹了java中List中set方法和add方法的區(qū)別有哪些的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇java中List中set方法和add方法的區(qū)別有哪些文章都會(huì)有所收獲,下面我們一起來看看吧。
在臨桂等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,臨桂網(wǎng)站建設(shè)費(fèi)用合理。
在Java中的常用的集合接口List中有兩個(gè)非常相似的方法:
E set(int index, E element);
void add(int index, E element);
這兩個(gè)方法都是在集合的指定位置插入指定的元素,那么這兩個(gè)方法到底有什么區(qū)別呢?接下來我們通過ArrayList這個(gè)我們常用集合實(shí)現(xiàn)來看一下這兩個(gè)方法的差異
首先我們來看一下這兩個(gè)方法在ArrayList中的相同點(diǎn)
他們都會(huì)在集合的指定位置插入新的元素,例如下面的例子:
#在集合的第2位插入一個(gè) F # 通過add方法插入 Listlist = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.add(2, "F"); System.out.println(list); #運(yùn)行結(jié)果: [A, B, F, C] #通過set方法插入 List list = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.set(2, "F"); System.out.println(list); #運(yùn)行結(jié)果: [A, B, F]
上述兩個(gè)方法中的element都不允許為null,如果為null的話會(huì)拋出NullPointerException
上述兩個(gè)方法中的element對(duì)應(yīng)的類如果無法存入該集合,都會(huì)拋出ClassCastException異常
上述兩個(gè)方法中的element對(duì)應(yīng)的類型如果無法存入該集合,都會(huì)拋出IllegalArgumentException異常
第一個(gè)不同點(diǎn)從上面的例子就可以看出來,add 方法是在指定位置插入新的值,然后將原先位置的元素
和原先位置之后的所有元素都向后移動(dòng)了一位,而 set 方法是直接覆蓋了原來的元素
#在集合的第2位插入一個(gè) F # 通過add方法插入 Listlist = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.add(2, "F"); System.out.println(list); #運(yùn)行結(jié)果: [A, B, F, C] #通過set方法插入 List list = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.set(2, "F"); System.out.println(list); #運(yùn)行結(jié)果: [A, B, F]
add 方法對(duì)于index的取值范圍是 0<= index <= size(),也就是說add方法可以在當(dāng)前集合的最后一個(gè)元素后面再添加一個(gè)新元素;set 方法對(duì)于index的取值范圍是 0< index < size(),也就是說set方法只能覆蓋當(dāng)前已有的元素,取值范圍不能超出當(dāng)前集合元素的范圍
#通過add在當(dāng)前集合的第四個(gè)位置插入F Listlist = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.add(3, "F"); System.out.println(list); #運(yùn)行結(jié)果: [A, B, C, F] #通過set在當(dāng)前集合的第四個(gè)位置插入F List list = new ArrayList (); list.add("A"); list.add("B"); list.add("C"); System.out.println(list); list.set(3, "F"); System.out.println(list); #運(yùn)行結(jié)果: 拋出NullPointerException
關(guān)于“java中List中set方法和add方法的區(qū)別有哪些”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“java中List中set方法和add方法的區(qū)別有哪些”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。