Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中向多维数组中再添加一个元素_Java_Arrays_Multidimensional Array - Fatal编程技术网

在java中向多维数组中再添加一个元素

在java中向多维数组中再添加一个元素,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,一个方法返回java中的二维数组。我想再添加一个元素。不确定如何将其复制到另一个新的二维数组中&再添加一个元素。有人知道吗 String arr[][]=getTwoDArray(); 现在我想再增加一行。像这样的 String newArr[][] = new String[arr.length+1][]; arr[length+1][0]= {"car"}; 你知道吗?你不能调整数组的大小:它们的大小在创建时是固定的 您只能创建一个新数组并在中复制内容;您可以使用(*)方便地执行此操作:

一个方法返回java中的二维数组。我想再添加一个元素。不确定如何将其复制到另一个新的二维数组中&再添加一个元素。有人知道吗

String arr[][]=getTwoDArray();
现在我想再增加一行。像这样的

String newArr[][] = new String[arr.length+1][];
arr[length+1][0]= {"car"};

你知道吗?你不能调整数组的大小:它们的大小在创建时是固定的

您只能创建一个新数组并在中复制内容;您可以使用(*)方便地执行此操作:

然而,正如@KevinEsche在他对这个问题的评论中所指出的,您可能会发现一个(或者其他类型的
列表
)更便于使用:尽管它也有一个数组支持,并且偶尔需要调整该数组的大小,但它会对您隐藏细节



(*)这里的问题是
数组。copyOf
执行
arr
的浅拷贝,因此
arr[i]
元素的任何更改都将反映在
newArr[i]
的元素中(对于
0您无法调整数组的大小:它们的大小在创建时是固定的)

只能创建新数组并复制中的内容;可以使用(*)方便地执行此操作:

然而,正如@KevinEsche在他对这个问题的评论中所指出的,您可能会发现一个(或者其他类型的
列表
)更便于使用:尽管它也有一个数组支持,并且偶尔需要调整该数组的大小,但它会对您隐藏细节



(*)这里的问题是
数组。copyOf
执行
arr
的浅拷贝,因此
arr[i]
元素的任何更改都将反映在
newArr[i]
(对于
0,您无法调整数组的大小:它们的大小在创建时是固定的。您只能创建一个新数组并在中复制内容;您可以使用方便地执行此操作。在本例中,a就是这样做的。您无法调整数组的大小:它们的大小在创建时是固定的。您只能创建一个新数组并在中复制内容;您可以n使用方便的方法来做这件事。在这种情况下,a就是为了这个
String newArr[][] = Arrays.copyOf(arr, arr.length + 1);
// Note that newArr[arr.length] is currently null.
newArr[arr.length] = new String[] { "car" };
String newArr[][] = Arrays.copyOf(arr, arr.length + 1);
for (int i = 0; i < arr.length; ++i) {
  newArr[i] = Arrays.copyOf(arr[i], arr[i].length);
}
// ...