java - 如何增长二维数组

标签 java arrays

我有一个二维数组,我想扩展它。我已将其复制到一个新数组中,但如何用前一个数组中的内容填充它?

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/

相关文章:

java - 在 Java 中声明 lambda 数组

java - 如何返回我的登录屏幕?

javascript - Internet Explorer 上 Array.from 的替代方案或 polyfill

c# - 非托管 C++ 加密字符串转换为 C# byte[]

javascript - 如何使用 javascript 从 php 脚本交互获取数据

java - 如何将数据库结果放入 LinkedHashMap

java - 无法使用 java jdbc 驱动程序连接到 Mysql

java - ScheduledExecutorService 中的线程排队

ios - 从 NSMutableArray 创建字节数组

python - 访问 Numpy 列表中的值范围