是否可以创建一个二维 int 数组,例如:
int n = 100;
int[][] [] a = new int[][] [n];
数组具有固定长度n
,矩阵(2D 数组)具有不同的非零大小(至少1 x 1
)。
为了性能,我想将其存储在堆栈中,而不是:
ArrayList<int[][]> a = new ArrayList<int[][]>(n);
据我所知,它将存储在堆上。
是否可以创建一个二维 int 数组,例如:
int n = 100;
int[][] [] a = new int[][] [n];
数组具有固定长度n
,矩阵(2D 数组)具有不同的非零大小(至少1 x 1
)。
为了性能,我想将其存储在堆栈中,而不是:
ArrayList<int[][]> a = new ArrayList<int[][]>(n);
据我所知,它将存储在堆上。
创建 3D 阵列
int n = 100;
int[][][] a = new int[n][][];
这将创建 100 个任意维度的数组。
这几乎和(低)效率一样
List<int[][]> a = new ArrayList<int[][]>(n);
是否可以创建一个二维 int 数组,例如:
int n = 100; int[][] [] a = new int[][] [n];
--> 这对语法无效,你会得到编译器错误。利用 :
int n = 100;
int[][] [] a = new int[n][] [];
但是a
是一个对象,因为java中的数组是对象,因此a
将存储在堆上而不是堆栈上。