我想添加位置"a";数组:我的代码:
Integer[] a = new Integer[3];
我想要:";Integer[]a=新的Integer[3]";变成:";Integer[]a=新的Integer[4]";
我试过了:
a.length += 1;
和:
a[] = a [a.length + 1];
您不能更改数组的大小。但是,您可以将旧阵列替换为所需大小的新阵列,旧阵列的部分或全部内容已复制到该新阵列:
Integer a = new Integer[3];
a[0] =1; a[1] = 2; a[2] = 3;
System.out.println(Arrays.toString(a)); // Prints [1,2,3]
a = Arrays.copyOf(a, 4);
a[3] = 4;
System.out.println(Arrays.toString(a)); // prints [1,2,3,4]
Arrays.copy()
是您唯一的解决方案。如建议的ArrayList<gt;((也是一个可能的解决方案。
但是,在ArrayList<>()
达到其大小限制时,在小堆中处理大列表时,这是一件非常令人厌倦的事情,并且会耗尽内存。
同样在我看来,如果你知道你的数据的大小。您最好进行Array
的初始化或初始化ArrayList<>(initial_size)
;