具有交错列而不是交错行的交错数组

时间:2019-03-11 02:54:34

标签: java jagged-arrays

这是我第一次使用锯齿状数组,我想弄清楚是否可以使用锯齿状列而不是锯齿状的行(我搜索过Google和此站点,但无济于事)。为了澄清,我想做一个有两列的数组。第一列只有一行,第二列只有3行。

public class Tester
{
   public static void main (String [] args)
   { 
       int[][] d = new int[3][];

       // First row has 2 columns 
       d[0] = new int[2]; 

       // Second row has 1 column 
       d[1] = new int[1];

       //Third row has 1 column
       d[2] = new int[1]; 

       d[0][0] = 1;
       d[0][1] = 0;
       d[1][0] = 0;
       d[2][0] = 1;
   }
}  

此代码在第一列中输出1、0、1,在第二列中输出0。我要打印的是第一列中的1和第二列中的0、0、1。我应该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:0)

Java不允许行数可变,而列数可变。数组声明中的最后一个括号始终可以留为空白。 例如:

int[][] d = new int[3][];

您可以通过将列转换为行来实现上述输出。在这种情况下,将这样定义:

   int[][] d = new int[2][];

   // First row has 1 columns 
   d[0] = new int[1]; 

   // Second row has 3 column 
   d[1] = new int[3];

   d[0][0] = 1;
   d[1][0] = 0;
   d[1][1] = 0;
   d[1][2] = 1;