[英]How to increase the number of rows in a 2d array using java
我需要使用Java将2 * 3数组转换为6 * 3数组。 我是Java的新手,所以对我的帮助非常感谢。
你不能 数组一旦分配,便具有固定大小。
您必须分配一个新数组并将旧数组的内容复制到新数组中。
一种解决方案是使用Arrays.copyOf()
,它将为您处理副本:
X[][] newArray = Arrays.copyOf(original, 6);
// Necessary: empty spaces are filled with null by default
for (int index = original.length; index < 6; index++)
newArray[index] = new X[3];
或者走简单的路线,而改用List
(已经建议使用ArrayList
)。 他们按需扩展。
而且,如果您想要一个“二维通用数组”,Guava提供了Table
,您可以使用以下方法来模仿二维数组:
final Table<Integer, Integer, X> mockArray = HashBasedTable.create();
您不能更改数组的大小。 但是,您可以创建尺寸为6 * 3的新数组,将数据复制到( System.arrayCopy
, Arrays.copyOf
),然后返回对新数组的引用。
如果最初不确定数组大小,请使用ArrayList代替。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.