java中多维数组如何构造索引?
Posted
技术标签:
【中文标题】java中多维数组如何构造索引?【英文标题】:How multi dimensional array construct the index in java? 【发布时间】:2018-12-07 06:40:48 【问题描述】:-
int[][][] a = new int[3][3][5];
int [][][] b = 新的 int[2][][];
b[0] = 新的 int[2]; // 这里为什么我们得到错误。
在上面的代码中,java 如何组成每个大括号。
在java中,上面的代码如何在数组的数组概念中分配内存。
【问题讨论】:
【参考方案1】:这里为什么我们得到错误。在上面的代码中,java是如何组成每个大括号的。
int [][][] b = new int[2][][]; //b is an array of (array of (array of int))
b[0] = new int[2]; //b[0] is an (array of (array of int))
您将int[2]
分配给b[0]
只是一个(int 数组),因此会出现错误。
b[0] = new int[2][]; //assign (array of (array of int)) to b[0] --> OK
简而言之,b[0]
需要一个 2D 数组,而您当前正在为其分配一个 1D 数组,这会导致错误。
【讨论】:
【参考方案2】:数组int [][][] b = new int[2][][];
是数组数组的数组。
所以b[0]
是一个数组数组。您只为第一个维度而不是第二个维度分配内存,因此您会遇到错误。试试b[0] = new int[2][];
【讨论】:
以上是关于java中多维数组如何构造索引?的主要内容,如果未能解决你的问题,请参考以下文章