Blog Details

  • Home  
  • Java如何向数组里添加元素

Java如何向数组里添加元素

向数组里添加一个元素怎么添加,一般数组是不能添加元素的,因为数组在初始化时就已定好长度了,不能改变长度。

比如:

String[] str = new String[5];

System.out.println(Arrays.toString(str));

String[] str2 = new String[]{"a", "b"};

System.out.println(Arrays.toString(str2));

String[] str3 = {"c", "d"};

System.out.println(Arrays.toString(str3));

第一种方法:思路为创建一个新数组,新数组的大小为旧数组大小+1,把旧数组里的元素copy一份进新数组,并把要添加的元素添加进新数组即可。

String[] datecolumn = {"Mon", "Tue", "Wed"};

/**

* 重新创建一个新的数组,需要添加多少个元素,就在原来的数组长度的基础上加几

*/

System.out.println(datecolumn.length);

String[] newColume = new String[datecolumn.length + 1];

for (int i = 0; i < datecolumn.length; i++) {

newColume[i]=datecolumn[i];

}

newColume[datecolumn.length]="Thu";

System.out.println(Arrays.toString(newColume));

第二种方法:可以改变大小的数组为ArrayList,即可以定义一个ArrayList数组,然后用add(element)方法往里添加元素即可,还可add(index,element)往指定下标处添加元素;

List datelist = new ArrayList();

datelist.add("Mon");

datelist.add("Tue");

datelist.add("Wed");

//因为数组下标是从0开始,这里add的index为2即为第三个元素

datelist.add(2, "Thu");

datelist.add(1, "Fri");

System.out.println(datelist);

Web值对应的index就成了3

第三种方法:思路为先把array转化为list,用list的add()方法添加元素,再把list转化为array。但这儿会有一个陷阱盲区,在把array转化为list的过程中,使用的asList()方法会返回一个final的,固定长度的ArrayList类,并不是java.util.ArrayList,直接这样利用它进行add()或remove()是无效的。

//1.已有的数组datecolumn和list集合

String[] datecolumn = {"Mon", "Tue", "Wed"};

List list = new ArrayList<>();

list.add("Thu");

list.add("Fri");

list.add("Sat");

list.add("Sun");

//2.数组和集合add到titleList中

List titleList = new ArrayList();

//将datecolum数组转换list并add到titleList中

titleList.addAll(Arrays.asList(datecolumn));

//将list添加到titleList中

titleList.addAll(list);

//3.titleList集合转换title数组

String[] title = titleList.toArray(new String[titleList.size()]);

//4.遍历title数组

for (String string : title) {

System.out.println(string);

}