[英]Find length of specific element of multidimensional array *java*
我正在嘗試查找3D數組中特定元素的長度。 我正在嘗試這樣做:
if(grid[x][y][0].size<5)
而且我似乎無法弄清楚執行此操作的正確方法。 謝謝!
編輯:不幸的是.length不起作用“長度無法解析或不是字段”。 另外,元素是對象。
有人要求澄清一下,我想知道數組的第3個元素中是否有少於5個對象。
謝謝!
您將需要使用而不是大小。
grid[x][y].length
但是,您必須記住,您只是獲得數組[z]
部分的大小。
如果要獲取網格中“單元”的數量,則需要合計所有網格元素。
totalsize = grid.length*grid[x].length*grid[x][y].length;
即使那樣,您也必須保證在所有元素之間xy and z
處的數組大小是恆定的。
請記住,這些是數組的數組,並且它們不一致。
例如,
public static void main(String[] args) {
int[][] foo = new int[][] {
new int[] { 1, 2, 3 },
new int[] { 1, 2, 3, 4},
};
System.out.println(foo.length); //2
System.out.println(foo[0].length); //3
System.out.println(foo[1].length); //4
}
危險...
int nir[][] = new int[5][];
nir[0] = new int[5];
nir[1] = new int[3];
System.out.println(nir[0].length); // 5
System.out.println(nir[1].length); // 3
System.out.println(nir[2].length); // Null pointer exception
每行的列長不同。 如果要通過固定大小的2D數組支持某些數據,請在包裝器類中為固定值提供吸氣劑。
PS。 您無法執行grid[x][y][0].length
因為您正在訪問特定元素。
正確的表達是
grid[x][y].length
您正在尋找的是:
if(grid[x][y].length < 5){ .... }
哪種三維數組? 如果它是String [] [] []或int [] [] []或類似的東西,則應嘗試使用grid[x][y].length
代替size。
它給出哪個錯誤?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.