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