Java:在不指定数组大小的情况下声明多维数组(例如new int [10] [])

问题描述 投票:5回答:6

我一直试图弄清楚这里到底发生了什么。我只是想弄清楚我在下面评论过的两行在做什么。我发现这个程序没有声明数组的完整尺寸(而不是new int [10] [5];它只是决定不声明它,而是说'new int [10] [];”,就像第二个数组长度无关紧要(将其更改为1或100不会影响输出)。

int[][] tri = new int[10][];  //this lack of giving the size of the 2nd array is strange
 for (int r=0; r<tri.length; r++) {
 tri[r] = new int[r+1];   //I'm not sure what this line is doing really 
}
for (int r=0; r<tri.length; r++) {
 for (int a=0; a<tri[r].length; a++) {
     System.out.print(tri[r][a]);  
     }
 System.out.println();
 }
    

我一直试图弄清楚这里到底发生了什么。我只是想弄清楚我在下面评论过的两行在做什么。我发现此程序未声明完整的...

java arrays multidimensional-array
6个回答
9
投票

第一行组成一个整数数组。为int数组创建了10个插槽。


3
投票

所有new int[10][]都声明是一个大小为10的数组,其中包含null个数组。


3
投票

如果将多维数组视为数组数组,则更有意义:


2
投票

它只是声明一个由10个数组组成的数组。每个“子”数组的长度都可以不同。


0
投票

不缺少,基本上没有设置特定的数量,因为它可以有很多字段,所以不是必需的


0
投票

最好在Java中使用多维集合。

© www.soinside.com 2019 - 2024. All rights reserved.