HOWTO · Java

Java で配列を宣言する

この記事では、Java で配列を宣言する方法を紹介します。

Java で配列を宣言する

以下に、Java 言語で 1D 配列を宣言するいくつかの方法を示します。詳細な説明は、指定されたコードの後に​​記載されています。

import java.util.stream.IntStream;

public class DeclareAnArray {
  public static void main(String[] args) {
    int[] intArr1 = new int[3];
    int[] intArr2 = {3, 4, 5};
    int[] intArr3 = new int[] {3, 4, 5};
    int intArr4[] = IntStream.range(0, 10).toArray();
    int[] intArr5 = IntStream.of(2, 5, 3, 8, 1, 9, 7).toArray();
    int[][] intArr6 = new int[5][2];
    int intArr7[][] = new int[5][2];
    int[] intArr8[] = new int[5][2];
    int[][] intArr9 = {{1, 2}, {1, 2}, {1, 2}, {1, 2}, {1, 2}};
  }
}

説明は、コード内のステートメントの順序で順番に示されます。

int[] intArr1 = new int[3]; は、Java 言語で 1 次元配列を宣言する最も簡単な方法です。まず、int がデータ型であるため、配列を作成するデータ型を記述します。次に、データ型名の後に角括弧 [] を追加します。これは、サイズが定義されていない整数の配列を宣言したことを意味します。データ型名の後に変数名を intArr1 として指定します。右に移動して、 = 演算子の後に new キーワードを置きます。キーワード new は、オブジェクトをインスタンス化し、ヒープ領域でオブジェクトにメモリを割り当てることを示します。最初に指定されたデータ型のコンストラクター呼び出しを続行します。配列が宣言されるため、コンストラクターは配列サイズを角括弧で囲みます。= 演算子は、作成されたオブジェクトを参照変数に割り当てます。したがって、サイズが 3 の整数配列は、変数を intArr1 として宣言されます。
int[] intArr2 = {3, 4, 5}; は、値を 1 か所で宣言およびインスタンス化するもう 1つの方法です。この場合、 = 演算子の左側にデータ型と変数名を指定します。その右側では、中括弧 {} で値を直接提供しています。この場合、配列のサイズは、宣言された値の数によって内部的に評価されます。したがって、サイズが 3 の整数配列は、インデックス 0,1,2 にそれぞれ 3,4、5 の値で作成されます。インスタンス化中に配列にデータを与えないことを考慮してください。その後、配列はデフォルト値で初期化されます。

int[] intArr3 = new int[]{3, 4, 5}; はすべての点で 2 番目のものと似ていますが、かなり長いです。ここで、配列の宣言は最初の方法と同じです。唯一の違いは、サイズを明示的に指定しないことです。これは、 {} 中括弧で値を定義するときに、サイズが暗黙的に計算されるためです。そのため、サイズが 3 で初期値の整数の配列も初期化されます。

次のメソッドは int intArr4[] = IntStream.range(0, 10).toArray(); です。このように、Java 8 とその機能を使用して、目的の型の配列を作成および初期化します。左側の宣言の原型とは異なります。角括弧が変数名と一緒にある配列を宣言する別の方法です。したがって、intArr4[] は有効な名前です。先に進むと、IntStreamjava.util.Stream パッケージで提供されるインターフェースです。メソッド range は、IntStream インターフェイスの静的ファクトリメソッドであり、整数値の IntStream を返します。配列の包括的下限と排他的上限を定義するパラメーターとして 2つの値を取ります。最後に、生成された整数ストリームは、toArray 関数を使用して配列に変換されます。これは端末演算子です。

int [] intArr5 = IntStream.of(2, 5, 3, 8, 1, 9, 7).toArray(); は、配列を宣言するもう 1つの方法を表します。そしてこれは、データ型と角括弧の間にスペースを入れることが有効であることを示しています。Java 8 では、of() 関数を使用して整数値のストリームを定義できます。指定された値は、整数ストリームに順番に格納されます。このストリームは、toArray 関数を使用して配列に収集されます。

Java で 2D 配列を宣言する

2 次元配列は、行と列を 1つのユニットにまとめたものです。2D 配列の宣言には、行と列の定義が順番に含まれます。最初の値は行数を定義し、2 番目の値は列数を定義します。

int intArr7[][] = new int[5][2]; および int[] intArr8[] = new int[5][2]; は、サイズ 5 x2 の配列の有効な宣言です。ここで、5 は行数、2 は列数です。

int[][] intArr9={ {1,2}, {1,2}, {1,2}, {1,2}, {1,2} }; は 2D 配列を定義する方法です。明示的に提供していません。サイズは、中括弧内のパラメーターの数によって内部的に計算されます。また、中括弧をネストすると、値は row1 に挿入され、コンマ区切りの値が先に進むことになります。