Java中如何向数组添加新元素

时间:2019-04-29 03:17:55  来源:igfitidea点击:

Java中,数组是管理一个同质且紧凑的项列表的对象。

因为元素列表是堆中一个紧凑的内存区域,所以直接向数组添加新元素,是不可能的。一旦构造了有限个元素的数组,它所占用的空间就无法调整大小。

所以我们不能重新分配或扩大已经分配的内存空间。

向包含n个元素的数组中添加新元素的方法是:

  1. 重新定义大小为n+1的新数组;

  2. 将这些n值复制到新数组中;

  3. 最后一个元素将用新值初始化;

  4. 数组值(它是一个引用)将使用新数组的地址重新初始化;

//初始化数组

int[] oldArray = {1,2,3,4,5};

//新增元素值

int newValue = 10;

//定义一个新的数组

int[] newArray = new int[oldArray.length + 1];

//将旧数组的值复制到新数组中

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

    newArray[i] = oldArray[i];

//或者直接使用系统的函数: arraycopy

//System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);

//将新元素添加到新数组最后一个位置

newArray[newArray.length-1] = newValue;

// 复制新数组地址

// 旧的数组值将被垃圾收集器删除

oldArray = newArray;