Java數(shù)組添加元素的兩種方法
說在前面
數(shù)組在使用前,長度就已固定,所以原數(shù)組長度是不能再改變了,基于此,提供如下兩種方式,給數(shù)組添加數(shù)據(jù)。具體代碼如下
方式一:
創(chuàng)建一個(gè)新數(shù)組,長度為原數(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));
}
也可以簡化一下寫法:
@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的,固定長度的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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java運(yùn)行Python腳本的幾種方式小結(jié)
在跨語言編程中,有時(shí)候我們需要在 Java 應(yīng)用程序中執(zhí)行 Python 腳本,這可能是為了利用 Python 豐富的庫生態(tài)系統(tǒng),或者是為了在已有 Java 系統(tǒng)中集成一些 Python 特有的功能,本文給大家介紹了實(shí)現(xiàn)這幾種目標(biāo)的方法,需要的朋友可以參考下2024-12-12
Jenkins源代碼管理SVN實(shí)現(xiàn)步驟解析
這篇文章主要介紹了Jenkins源代碼管理SVN實(shí)現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
Springboot+Redis執(zhí)行l(wèi)ua腳本的項(xiàng)目實(shí)踐
本文主要介紹了Springboot+Redis執(zhí)行l(wèi)ua腳本的項(xiàng)目實(shí)踐,詳細(xì)的介紹Redis與Lua腳本的結(jié)合應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
SpringMVC中使用bean來接收form表單提交的參數(shù)時(shí)的注意點(diǎn)
本篇文章主要介紹了SpringMVC中使用bean來接收form表單提交的參數(shù)時(shí)的注意點(diǎn),具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05
JAVA實(shí)現(xiàn)sm3加密簽名以及防止重復(fù)攻擊
這篇文章主要給大家介紹了關(guān)于JAVA實(shí)現(xiàn)sm3加密簽名以及防止重復(fù)攻擊的相關(guān)資料,SM3是簽名算法,和MD5一樣(對于應(yīng)用層來說),SM4是對稱加密算法,和AES一樣(對于應(yīng)用層來說),需要的朋友可以參考下2023-10-10
Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程
這篇文章主要介紹了Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程,文中同時(shí)也整理了Java對數(shù)字類型的支持狀況及Number類中的方法,需要的朋友可以參考下2016-02-02

