Java | 3次元配列(配列の配列の配列)

Java Java
スポンサーリンク

主な内容の要点

基本イメージ

  • 一次元配列 → 直線(リスト)
  • 二次元配列 → 表(行×列)
  • 三次元配列 → 立方体(層×行×列)
  • 添字の指定は [層][行][列] の順番で行う
    例: maze[1][2][0] → 層1・行2・列0の要素

作り方(初期化方法)

  • サイズだけ指定して後から値を入れる
int[][][] cube = new int[2][3][4];
Java
  • 中身を同時に書く
int[][][] data = {
    { {1,2,3}, {4,5,6} },
    { {7,8,9}, {10,11,12} }
};
Java
  • ジャグ配列(三次元版)
    • 層や行ごとに列数が違う配列も作れる
int[][][] jag = new int[2][][];
jag[0] = new int[2][];
jag[0][0] = new int[]{1,2};
jag[0][1] = new int[]{3};
jag[1] = new int[1][];
jag[1][0] = new int[]{4,5,6};
Java

使い方(取り出し・表示)

  • 要素の取り出し
System.out.println(data[1][0][2]); // 9
Java
  • 三重ループで全表示
for (int z=0; z<data.length; z++) {
    for (int i=0; i<data[z].length; i++) {
        for (int j=0; j<data[z][i].length; j++) {
            System.out.print(data[z][i][j] + " ");
        }
        System.out.println();
    }
    System.out.println("---");
}
Java

よくあるつまずき

  • 添字の順番を間違える → [層][行][列] を意識
  • 範囲外アクセス → length を必ず使う
  • ジャグ配列の未初期化 → 各層・行に new を忘れない
  • 出力が見づらい → 層ごとに区切りやラベルを入れる

まとめ

三次元配列は「立方体のデータ構造」として理解するとわかりやすいです。

  • 層・行・列の3軸で管理
  • 三重ループで処理
  • ジャグ配列で柔軟に表現可能
  • 応用例(迷路探索など)で実践的に使える
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました