我有一个二维数组,我想扩展它。我已将其复制到一个新数组中,但如何用前一个数组中的内容填充它?
if (row == data.length) {
newData = Arrays.copyOf(data, 2 * data.length);
}
最佳答案
您是否尝试扩展它,然后在代码的后期阶段继续操作它?
例如:
你有一个大小为 4 的数组,你把 0 1 2 3 放进去,现在它已经满了,你想把大小加倍,然后继续在里面添加像 7 8 9 这样的数字。
如果是这种情况,您所需要做的就是将 newData 分配给以前的数组名称,在上面的示例中为“data”。
if (row == data.length)
{
newData = Arrays.copyOf(data, 2*data.length);
data = newData; //assigns the newArray to the previous variable name
}
如果另一方面你提到你想要一个二维数组。这是某种类型的数组的数组,那么您的代码也应该适用于二维数组。
但是,新创建的数组槽中将存在空值(例如,您有一个 ComplexNumber 类的二维数组,如果您尝试访问这些类并调用像 GetImaginaryValue() 这样的方法),您将得到一个空异常。
正如 xscanpix 提到的,如果我们假设您所做的事情是正确的,您的代码就可以工作。如果情况并非如此,请编辑您的问题。
如果这不是您要找的内容,我对造成的误解表示歉意。我要告诉你,你是 SO 的新用户(像我一样),并且可能刚刚开始使用 Java。
关于java - 如何增长二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29037083/