Java中如何向数组添加新元素
时间:2019-04-29 03:17:55 来源:igfitidea点击:
Java中,数组是管理一个同质且紧凑的项列表的对象。
因为元素列表是堆中一个紧凑的内存区域,所以直接向数组添加新元素,是不可能的。一旦构造了有限个元素的数组,它所占用的空间就无法调整大小。
所以我们不能重新分配或扩大已经分配的内存空间。
向包含n个元素的数组中添加新元素的方法是:
重新定义大小为n+1的新数组;
将这些n值复制到新数组中;
最后一个元素将用新值初始化;
数组值(它是一个引用)将使用新数组的地址重新初始化;
//初始化数组
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;

