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;