Java數(shù)組添加元素的兩種方法
說在前面
數(shù)組在使用前,長(zhǎng)度就已固定,所以原數(shù)組長(zhǎng)度是不能再改變了,基于此,提供如下兩種方式,給數(shù)組添加數(shù)據(jù)。具體代碼如下
方式一:
創(chuàng)建一個(gè)新數(shù)組,長(zhǎng)度為原數(shù)組加1,然后將原數(shù)組數(shù)據(jù)添加到新數(shù)組,最后再添加需要的新數(shù)據(jù)
@Test public void redd111(){ String[] s1 = {"aaa","bbb","ccc"}; String[] s2 = new String[s1.length+1]; for (int i = 0; i < s1.length; i++) { s2[i] = s1[i]; } s2[s1.length] = "ddd"; System.out.println(Arrays.toString(s2)); }
運(yùn)行結(jié)果
[aaa, bbb, ccc, ddd]
方式二:
先把數(shù)組轉(zhuǎn)化為list,將該list添加到一個(gè)新的ArrayList中,再使用新ArrayList的add()方法添加元素,最后把新ArrayList轉(zhuǎn)化為數(shù)組。
@Test public void redd222(){ String[] s1 = {"aaa","bbb","ccc"}; List<String> tempList = Arrays.asList(s1); List<String> list = new ArrayList<>(); list.addAll(tempList); list.add(1,"ddd"); String[] s2 = new String[list.size()]; list.toArray(s2); System.out.println(Arrays.toString(s2)); }
也可以簡(jiǎn)化一下寫法:
@Test public void redd222(){ String[] s1 = {"aaa","bbb","ccc"}; List<String> list = new ArrayList<>(Arrays.asList(s1)); list.add(1,"ddd"); String[] s2 = new String[list.size()]; list.toArray(s2); System.out.println(Arrays.toString(s2)); }
運(yùn)行結(jié)果
[aaa, ddd, bbb, ccc]
注意點(diǎn):
使用Arrays.asList()方法將數(shù)組轉(zhuǎn)為list時(shí),該方法返回的是一個(gè)final的,固定長(zhǎng)度的ArrayList類,他是Arrays的內(nèi)部類,并不是java.util.ArrayList,所以不能直接使用它進(jìn)行add操作哦,否則會(huì)報(bào)如下錯(cuò)誤哦
異常信息:
java.lang.UnsupportedOperationException at java.util.AbstractList.add(AbstractList.java:148)
到此這篇關(guān)于Java數(shù)組添加元素的兩種方法的文章就介紹到這了,更多相關(guān)Java數(shù)組添加元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用javaweb項(xiàng)目對(duì)數(shù)據(jù)庫(kù)增、刪、改、查操作的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于使用javaweb項(xiàng)目對(duì)數(shù)據(jù)庫(kù)增、刪、改、查操作的實(shí)現(xiàn)方法,avaWeb是指使用Java語(yǔ)言進(jìn)行Web應(yīng)用程序開發(fā)的技術(shù),可以利用Java編寫一些動(dòng)態(tài)網(wǎng)頁(yè)、交互式網(wǎng)頁(yè)、企業(yè)級(jí)應(yīng)用程序等,需要的朋友可以參考下2023-07-07Java util.List如何實(shí)現(xiàn)列表分段處理
這篇文章主要介紹了Java util.List如何實(shí)現(xiàn)列表分段處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09