English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基础教程

Java プロセス制御

Java 配列

Java 面向オブジェクト(I)

Java 面向オブジェクト(II)

Java 面向オブジェクト(III)

Java 異常処理

Java リスト(List)

Java Queue(キュー)

Java Map集合

Java Set集合

Java 入出力(I/O)

Java Reader/Writer

Javaの他のトピック

Java 二次元配列

このチュートリアルでは、サンプルを使用して2多維配列と3Javaの多維配列。

多維配列を学ぶ前に、あなたが理解していることを確認してください。Java 配列

マルチディメンショナル配列は配列の配列です。マルチディメンショナル配列の各要素は配列自体です。例えば、

int[][] a = new int[3][4];

 ここでは、名前がaのマルチディメンショナル配列を作成し、それは最大で以下の容量を持つ二次元配列です。12要素があります。

二次元配列

 Javaではゼロベースのインデックスを使用しており、つまり、Javaの配列のインデックスは0から始まるため、1開始します。

もう一つのマルチディメンショナル配列の例を示しましょう。今度は以下のように作成します3次元配列の例です。

String[][][] data = new String[3][4][2];

 ここでは、dataは三つの次元を持つ配列で、最大で以下の容量を持ちます24(3*4*2)のString型の要素が入ります。

Javaで二次元配列を初期化する方法は?

これはJavaで二次元配列を初期化する方法です。

int[][] a = {
      {1, 2, 3}, 
      {4, 5, 6, 9}, 
      {7}, 
};

私たちが見たように、マルチディメンショナル配列の各要素は配列自体です。さらに、C / C ++異なります。Javaでは、マルチディメンショナル配列の各行は異なる長さを持つことができます。

二次元配列の初期化

例:二次元配列

class MultidimensionalArray {
    public static void main(String[] args) {
        //二次元配列の作成
        int[][] a = {
            {1, 2, 3}, 
            {4, 5, 6, 9}, 
            {7}, 
        };
      
        //各行の長さを計算
        System.out.println("第1行の長さ: " + a[0].length);
        System.out.println("第2行の長さ: " + a[1].length);
        System.out.println("第3行の長さ: " + a[2].length);
    }
}

出力

第1行の長さ: 3
第2行の長さ: 4
第3行の長さ: 1

上記の例では、名前がaのマルチディメンショナル配列を作成し、マルチディメンショナル配列の各コンポーネントも配列であるため(a[0],[1]とa[2]も配列です)。
ここでは、length属性を使用して各行の長さを計算します。

例:ループを使用して印刷2次元配列の全ての要素

class MultidimensionalArray {
    public static void main(String[] args) {
        int[][] a = {
            {1, -2, 3}, 
            {-4, -5, 6, 9}, 
            {7}, 
        };
      
        for(int i = 0; i < a.length; ++i) {
            for(int j = 0; j < a[i].length; ++j) {
                System.out.println(a[i][j]);
            }
        }
    }
}

出力

1
-2
3
-4
-5
6
9
7

さらに、以下を使用することもできますfor...eachループマルチディメンショナル配列の要素にアクセスする方法です。例えば、

class MultidimensionalArray {
    public static void main(String[] args) {
        //二次元配列の作成
        int[][] a = {
            {1, -2, 3}, 
            {-4, -5, 6, 9}, 
            {7}, 
        };
      
        //まず、単一の配列にアクセスするfor...eachループを利用します
        //二次元配列の中で
        for(int[] innerArray : a) {
            //二回目のfor...eachループで行内の各要素にアクセスします
            for(int data : innerArray) {
                System.out.println(data);
            }
        }
    }
}

出力

1
-2
3
-4
-5
6
9
7

 上記の例では、名前がaの二次元配列を作成し、forループとfor...eachループを使用して配列の各要素にアクセスしました。

Javaで三次元配列を初期化する方法はどうですか?

 Javaでどのように三次元配列を初期化するかを見てみましょう。3d配列。例えば、2d配列の3d配列。例えば、

// test is a 3d array
int[][][] test = {
        {
          {1, -2, 3}, 
          {2, 3, 4}
        }, 
        { 
          {-4, -5, 6, 9}, 
          {1}, 
          {2, 3}
        } 
};

 基本的に、3d配列は2d配列の配列。三次元配列の行も二次元配列のように長さが変化する可能性があります。

例:3次元配列

class ThreeArray {
    public static void main(String[] args) {
        // 三次元配列の作成
        int[][][] test = {
            {
              {1, -2, 3}, 
              {2, 3, 4}
            }, 
            { 
              {-4, -5, 6, 9}, 
              {1}, 
              {2, 3}
            } 
        };
        //for..each ループの迭代3d配列の要素
        for (int[][] array2D: test) {
            for (int[] array1D: array2D) {
                for(int item: array1D) {
                    System.out.println(item);
                }
            }
        }
    }
}

出力

1
-2
3
2
3
4
-4
-5
6
9
1
2
3