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 } };
我建议添加一些缩进,这将帮助您跟踪这个嵌套数组的级别:
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
等等等等