在java中分配二维数组时指定第二维有什么意义

问题描述 投票:0回答:1

假设我有以下代码:

int[][] arr = new int[1][1];
arr[0] = new int[2];

这在 Java 中完全没问题 - 为什么?我假设它为可以容纳单个元素数组的单元素数组分配内存。

如果我可以将任意大小的数组传递给

arr[0]
,为什么我什至能够指定第二维大小?

有什么用例吗

int[][] arr = new int[1][1]; 

实际上很有用

int[][] arr = new int[1][];
java
1个回答
0
投票

有时(也许大多数时候)我们想要定义一个二维数组,其所有子维度的大小都相同。例如,要定义 2×2 数组,我们可以使用:

int[][] arr = new int[2][2];

但有时候我们可能需要定义一个jagged数组,例如:

int[][] arr = new int[2][];  // 2D array with 2 rows
arr[0] = new int[3];         // first row has 3 columns
arr[1] = new int[1];         // second row has just 1 column
© www.soinside.com 2019 - 2024. All rights reserved.