Java数组怎么添加元素

其他教程   发布日期:前天 19:39   浏览次数:92

本文小编为大家详细介绍“Java数组怎么添加元素”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java数组怎么添加元素”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

说在前面

数组在使用前,长度就已固定,所以原数组长度是不能再改变了,基于此,提供如下两种方式,给数组添加数据。具体代码如下

方式一:

创建一个新数组,长度为原数组加1,然后将原数组数据添加到新数组,最后再添加需要的新数据

  1. @Test
  2. public void redd111(){
  3. String[] s1 = {"aaa","bbb","ccc"};
  4. String[] s2 = new String[s1.length+1];
  5. for (int i = 0; i < s1.length; i++) {
  6. s2[i] = s1[i];
  7. }
  8. s2[s1.length] = "ddd";
  9. System.out.println(Arrays.toString(s2));
  10. }

运行结果

  1. [aaa, bbb, ccc, ddd]

方式二:

先把数组转化为list,将该list添加到一个新的ArrayList中,再使用新ArrayList的add()方法添加元素,最后把新ArrayList转化为数组。

  1. @Test
  2. public void redd222(){
  3. String[] s1 = {"aaa","bbb","ccc"};
  4. List<String> tempList = Arrays.asList(s1);
  5. List<String> list = new ArrayList<>();
  6. list.addAll(tempList);
  7. list.add(1,"ddd");
  8. String[] s2 = new String[list.size()];
  9. list.toArray(s2);
  10. System.out.println(Arrays.toString(s2));
  11. }

也可以简化一下写法:

  1. @Test
  2. public void redd222(){
  3. String[] s1 = {"aaa","bbb","ccc"};
  4. List<String> list = new ArrayList<>(Arrays.asList(s1));
  5. list.add(1,"ddd");
  6. String[] s2 = new String[list.size()];
  7. list.toArray(s2);
  8. System.out.println(Arrays.toString(s2));
  9. }

运行结果

  1. [aaa, ddd, bbb, ccc]

注意点:

使用Arrays.asList()方法将数组转为list时,该方法返回的是一个final的,固定长度的ArrayList类,他是Arrays的内部类,并不是java.util.ArrayList,所以不能直接使用它进行add操作哦,否则会报如下错误哦

异常信息:

  1. java.lang.UnsupportedOperationException
  2. at java.util.AbstractList.add(AbstractList.java:148)

以上就是Java数组怎么添加元素的详细内容,更多关于Java数组怎么添加元素的资料请关注九品源码其它相关文章!