提问者:小点点

如何读取(即理解)这个Java数组?


String[][][] arr  = 
{{ { "a", "b" , "c"}, { "d", "e", null } },{ {"x"}, null },{{"y"}},{ { "z","p"}, {} }};

我有理由相信这样的事情最终会在考试中出现,但在10年的编码生涯中,我从未见过如此可怕的事情。我当然可以使用一些技巧来在精神上解析它,这样我就可以弄清楚它在我脑海中的真正含义。当然,我可以通过IntelliJ运行它,但我没有它。

郑重声明,这对我来说非常有意义:

int[][] twoD = { { 1, 2, 3} , { 4, 5, 6, 7}, { 8, 9, 10 } };

共3个答案

匿名用户

我建议添加一些缩进,这将帮助您跟踪这个嵌套数组的级别:

String[][][] arr  =  {
    {
        { "a", "b", "c" },
        { "d", "e", null }
    },
    {
        { "x" },
        null
    },
    {
        { "y" }
    },
    {
        { "z", "p" },
        {}
    }
};

这有帮助吗?我发现这使得可视化数据结构和回答诸如“arr[1][0][0]的值是什么?”之类的问题变得更加容易。

您可以将类型String[][][]阅读为“字符串数组的数组”,或者“字符串的三维数组”。

匿名用户

也许你会从中了解更多,我可以看到你的数组是这样的:

String[] arr0 = {"a", "b", "c"};
String[] arr1 = {"d", "e", null};
String[] arr2 = {"x"};
String[] arr3 = null;
String[] arr4 = {"y"};
String[] arr5 = {"z", "p"};
String[] arr6 = {};

String[][] arr0_1 = {arr0, arr1};//-->>  {{"a", "b", "c"}, {"d", "e", null}}
String[][] arr2_3 = {arr2, arr3};//-->>  {{"x"}, null}
String[][] arr4_4 = {arr4};      //-->>  {{"y"}}
String[][] arr5_6 = {arr5, arr6};//-->>  {{"z", "p"}, {}}

String[][][] arr = {arr0_1, arr2_3, arr4_4, arr5_6};

这相当于

String[][][] arr
        = {
            {//----------------------------
                {"a", "b", "c"},//arr0    |
                                        //|---->arr0_1
                {"d", "e", null}//arr1    |
            },//---------------------------

            {//----------------------------
                {"x"},//arr2              |
                                        //|---->arr2_3
                null  //arr3              |
            },//---------------------------

            {//----------------------------
                {"y"}//arr4               |---->arr4_4
            },//---------------------------

            {//----------------------------
                {"z", "p"},//arr5         |
                                        //|---->arr5_6
                {}//arr6                  |
            }//---------------------------
        };

匿名用户

格式化数组将有助于找出行和列的矩阵

String[][][] arr  = 
{
    {{"a", "b" , "c"}, {"d", "e", null} },
    {{"x"           }, null             },
    {{"y"           }                   },
    {{"z", "p"      }, {                }}
};

2个Cols,4排

0,0处的元素:{"a","b","c"}

0,1处的元素:{"d","e", null}

1,0处的元素:{"x"}

1,1处的元素:null

等等等等