这是一个二维数组.-
String[][] names = { {"Sam", "Smith"}, {"Robert", "Delgro"}, {"James", "Gosling"}, };
我可以通过调用以下方式访问行:
names[n]
其中n是边界之间的任何整数,在这种情况下 0 <= n
&lt; = names.length-1 。
同样地
我可以称之为
String [] rowOne = names[0];
现在的问题仍然是,有一种方法可以访问特定的列,而不是行,而访问特定的行的方式相同。
我想对此建议提出反馈意见。
在访问 2d数组中的列的特定情况下,names[][x]
将是调用特定列的声明,其中 0&lt; = x
&lt; =名称[0]。长度-1
String[] columnOne = names[][0]
这意味着names.length
等同于来调用names[][x].length
这也适用于阵列更高而不是 2d数组。
String[][][]names = { {{"Sam", "Smith"}, {"Robert", "Delgro"}}, {{"James", "Gosling"}}};
只需添加额外的方括号。
例如在3d数组中,要访问过道,我将参考第三维。
names[][][z]
,其中 0&lt; = z
&lt; = names [0] [1] .length-1
来自多维数组的一维数组。
答案 0 :(得分:0)
...有没有办法以与访问特定行相同的方式访问特定列。
没有; Java的多维数组本质上是包含对其他数组的引用的数组,这些数组在内存中不是连续的。 Java还允许数组呈锯齿状。我们假设你有以下多维数组:
int[][] array = {
{1, 2, 3},
{4, 5},
{6}
};
致电array[][2]
,您会收到什么?那么array[][3]
呢?
为了能够获得列数组,您需要首先转置多维数组。