3

次のような2D int配列の配列を作成することは可能ですか:

int n = 100;
int[][] [] a = new int[][] [n];

配列は固定長nで、行列 (2D 配列) はゼロ以外の異なるサイズ (少なくとも1 x 1) です。

パフォーマンスのために、次のようではなく、スタックに保存したいと思います。

ArrayList<int[][]> a = new ArrayList<int[][]>(n);

私の知る限り、これはヒープに保存されます。

4

2 に答える 2

4

3D 配列を作成するには

int n = 100;
int[][][] a = new int[n][][];

これにより、任意の次元の配列の 100 個の配列が作成されます。

これはほぼ同じくらい(非)効率的です

List<int[][]> a = new ArrayList<int[][]>(n);
于 2012-08-15T18:36:24.177 に答える
3

次のような2Dint配列の配列を作成することは可能ですか?

int n = 100;
int[][] [] a = new int[][] [n];

->これは構文では無効です。コンパイラエラーが発生します。使用する :

int n = 100;
int[][] [] a = new int[n][] [];

ただしa、Javaの配列はオブジェクトであるためa、スタックではなくヒープに格納されるため、オブジェクトです。

于 2012-08-15T18:40:12.787 に答える