我有动态数组大小。我想将大小增加1,并在最后一个索引数组中插入一个新元素。这该怎么做?例如现在:我的数组大小为2,当我进行循环时,我将数组大小增加1并尝试在最后一个数组中插入一个新元素。我已经尝试了下面的代码,但每当遇到空数组时循环停止。我想要这样的东西:array [0] = value,array [1] = value,array [2] = remarks
while (z <= array.length+1){
System.out.println("z: "+z);
value = array[z];
str_value += value + ",";
if (array[z] == null){
str_value += remarks + ",";
continue;
}
System.out.println("value: "+value );
z++;
}
System.out.println("str value: "+str_value);
答案 0 :(得分:1)
您无法调整java数组的大小(不复制/创建新数组)。好像你正在寻找ArrayList这是Java中的动态数组。这里有一个例子供你参考:
ArrayList<String> al = new ArrayList<String>();
al.add("JAVA");
al.add("PERL");
al.add("SQL");
//get elements by index
System.out.println("Element at index 1: "+al.get(1));
答案 1 :(得分:0)
您不会通过引用array [array.length()+ 1]来添加数组。这只会给出数组越界错误。
正如其他人所说,你不能在数组中添加一个空元素。
如果你需要创建一个动态数组,你应该考虑某种列表,在这种情况下可能是一个ArrayList。
答案 2 :(得分:0)
您可以尝试使用System.arraycopy()
int[] a = new int[]{1,2,3,4,5};
int[] b = new int[5];
System.arraycopy( a, 0, b, 0, a.length );
您可以将额外元素添加到第二个数组,然后复制
链接到JavaDoc以供参考