Java将位置添加到具有有限位置数的数组中



我想添加位置"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)

最新更新