Bry*_*ton 27 java arrays multidimensional-array
如何找到具有非相等索引的多维数组的长度?
例如,我有 int[][] pathList = new int[6][4]
如果没有对索引进行硬编码,我需要找到'6'和'4'.
我可以找到6 pathList.length
,但如何获得'4'?
no.*_*ing 60
这将为您提供索引处数组的长度 i
pathList[i].length
Run Code Online (Sandbox Code Playgroud)
值得注意的是,与C或C++不同,Java中二维数组元素的长度不必相等.例如,当pathList
实例化等于时new int[6][]
,它可以容纳6个int []
实例,每个实例可以是不同的长度.
因此,当您按照问题中显示的方式创建数组时,您也可以这样做
pathList[0].length
Run Code Online (Sandbox Code Playgroud)
因为你知道他们都有相同的长度.在其他情况下,你需要定义,具体到究竟你的应用是什么第二个维度的长度是指-这可能是最大长度的所有元素,或者是最低的.在大多数情况下,您需要迭代所有元素并阅读它们的长度来做出决定:
for(int i = 0; i < pathList.length; i++)
{
int currLen = pathList[i].length;
}
Run Code Online (Sandbox Code Playgroud)
Sid*_*ril 11
这是一个三维数组.
int x[][][]=new int[5][8][10];
System.out.println(x.length+" "+x[1].length+" "+x[0][1].length);
Run Code Online (Sandbox Code Playgroud)
输出:5 8 10
Java具有"锯齿状"多维数组,这意味着二维数组中的每个"行"可以具有不同数量的组件.如果您可以假设每行具有相同数量的组件,请使用:
pathList[0].length;
Run Code Online (Sandbox Code Playgroud)
否则,您将不得不迭代:
int maxRowLength = 0;
for (int i = 0; i < pathList.length; i++) {
if (maxRowLength < pathList[i].length) {
maxRowLength = pathList[i].length;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
85123 次 |
最近记录: |