1次元配列と2次元配列の主な違いは、1次元配列が複数のデータ項目をリストとして表現するのに対し、2次元配列は複数のデータ項目を行と列からなる表として表現する点です。
変数とは、特定の型のデータを格納するためのメモリ上の位置のことです。
時には、同じデータ型の項目の集合を格納する必要があります。
配列は、同じデータ型の複数の項目を格納することができます。
配列の要素は、後続のメモリロケーションにあります。
配列には、1次元(1D)配列と2次元(多次元)配列の2種類があります。
1次元配列とは
1次元配列は、同じデータ型の変数のリストを格納します。
インデックスを使用して各変数にアクセスすることができます。
Java言語では、int[] numbers;でnumbersという配列を宣言しています。
そして、その配列のメモリをnewキーワードで次のように確保します。
numbers= new int[10];
この配列は10個の整数値を格納することができます。
上記の2つの文を組み合わせて、次のように書くことができます。
int numbers = new int[10];
以下は、配列に値を代入する例です。
numbers ={1,2,3,4,5,6,7,8,9,10};
配列の開始インデックスは0です。
したがって、0番目のインデックスの要素は1、1番目のインデックスの要素は2、2番目のインデックスの要素は3、…となります。
最後の要素のインデックスは9です。
もし、プログラマーが2番目のインデックスに50番を格納したい場合、以下のように記述することができます。
numbers[2] = 50;
2D配列とは
2次元配列(多次元配列)は、行と列で構成される形式でデータを格納します。
例えば、int[][] numbers;は2次元配列の宣言です。
numbers = new int [2][3];
上の例は、2行3列の2次元配列のメモリを確保するものです。
上記の2つのステートメントを組み合わせて、以下のように記述することができます。
int[][] numbers = new int[2][3];
以下は、2次元配列に値を代入する例です。
int[][] numbers = { {10,20,30}, {50,60,70}} です。
1次元配列と同様に、2次元配列の開始インデックスも0です。
この配列は2行3列の配列です。
行のインデックスは0と1、列のインデックスは0、1、2です。
要素10は0行0列の位置にあります。
20番は0行1列の位置にあります。
番号70は1行2列の位置にあります。
数字[1][2] = 50;
上の例では、1行2列目に50が配置されています。
1次元配列と2次元配列の違い
定義
1次元配列は、メモリの連続したブロックに類似したタイプのデータの集まりを格納する単純なデータ構造であるのに対し、2次元配列は、同じタイプの複数のデータ要素を行と列の数で行列または表のような形式で格納する配列の一種である。
したがって、これが1次元配列と2次元配列の主な違いです。
同義語
1次元配列は1次元配列とも呼ばれ、2次元配列は多次元配列とも呼ばれます。
宣言
宣言も1次元配列と2次元配列の違いです。
1次元配列の場合、data-type[] name = new data-type[size]; 2次元配列の場合、data-type[][] name = new data-type[rows][columns] というようになります。
データの保存
また、1次元配列と2次元配列の大きな違いは、1次元配列がデータをリストとして格納するのに対し、2次元配列はデータを行と列の形式で格納する点です。
結論
配列には、1次元配列と2次元配列の2種類があります。
1次元配列と2次元配列の主な違いは、1次元配列は複数のデータをリストで表現し、2次元配列は複数のデータを行と列で構成される表で表現する点です。