Posted at

Javaの2次元配列(多次元配列)の要素数を動的にする


始めに

Javaで普通に2次元配列を作ろうと思うと、第2要素の要素数が全て一定になってしまいますが、第2要素の要素数を第1要素や他の変数によって変える方法が分かったので共有しようと思います!


通常の2次元配列の定義

int[][] arrays = new int[m][n];


第2要素が動的に決められる2次元配列の定義

//2要素目の要素数が入った配列などを用意(なんでもいい)

int[] array = {2, 3, 5};
//1要素目だけ要素数を定義
int[][] arrays = new int[array.length][];
for (int i = 0; i < arrays.length; i++){
//1要素目をfor文等で回しながら、2要素目の要素数を定義していく
arrays[i] = new int[array[i]];
}

//おまけ
System.out.println(arrays.length);
for (int i = 0; i < arrays.length; i++){
System.out.println(arrays[i].length);
}
//出力
//3
//2
//3
//5


多次元配列

同じ様に

int arrays[][][] =new array [m][n];

//省略
arrays[i][j] = new int[array[j]];

とやれば何次元でもできるはずです!(未確認)


終わりに

この様に動的に要素数を変えることでより多次元配ライフがより便利になるかと思います!!

もし間違い等あればお気軽にコメント等下さい!!