說在前面
數(shù)組在使用前,長度就已固定,所以原數(shù)組長度是不能再改變了,基于此,提供如下兩種方式,給數(shù)組添加數(shù)據(jù)。具體代碼如下
方式一:
創(chuàng)建一個新數(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添加到一個新的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時,該方法返回的是一個final的,固定長度的ArrayList類,他是Arrays的內(nèi)部類,并不是java.util.ArrayList,所以不能直接使用它進(jìn)行add操作哦,否則會報如下錯誤哦文章來源:http://www.zghlxwxcb.cn/news/detail-511433.html
異常信息:文章來源地址http://www.zghlxwxcb.cn/news/detail-511433.html
java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
到了這里,關(guān)于java 數(shù)組添加元素的兩種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!