配列は、同じデータ型を持つデータ オブジェクトを格納するために使用される Java のデータ構造です。配列内のすべての要素には一意のインデックス値があります。配列では、最初にそのサイズを宣言する必要があり、配列のサイズは固定されています。配列には、整数、文字列、日付などのさまざまなデータ型の要素を格納できます。この記事では、配列を宣言および初期化するさまざまな方法について説明します。
Java での配列の宣言
配列は、そのデータ型と識別子を使用して宣言されます。 Java では、配列は他の変数の宣言と同様の方法で宣言されますが、配列を宣言するときに余分な括弧 [] が追加されます。
構文:
int arr []; int [] arr;>
配列の参照はメモリ上に作成されるため、ここでは配列のサイズについては言及しません。配列のメモリアドレスとしても知られています。
Javaで配列を初期化するにはどうすればよいですか?
配列を宣言した後は、他の変数を使用する場合と同様に、値を使用して配列を初期化する必要があります。配列では複数の値を割り当てる必要があるため、初期化プロセスは変数ほど単純ではありません。配列をデフォルト値またはデフォルト以外の値で初期化できます。以下に、配列を初期化するさまざまな方法を示します。
データ構造内の構造
- 配列をデフォルト値で初期化する
- デフォルト以外の値で配列を初期化する
- 中括弧 { } を使用して配列を初期化する
- ストリームインターフェースを使用した初期化
配列をデフォルト値で初期化する
Java では、配列のサイズを角括弧 [ ] で宣言すると、配列をデフォルト値で初期化できます。
int [] arr = new int[20];>
上記のコードでは、データ型が整数のサイズ 20 の配列が宣言されています。データ型が異なれば、宣言時に初期化されるデフォルト値も異なります。整数型配列のデフォルト値は 0、ブール型配列のデフォルト値は false、文字列型配列のデフォルト値は空の文字列です。
デフォルト以外の値で配列を初期化する
Java では、配列を特定の値で初期化することもできます。そのためには、各値を 1 つずつ初期化する必要があります。ただし、この方法は小さいサイズの配列にのみ役立ち、大きいサイズの配列には役立ちません。サイズの大きい配列の場合、ループを使用してデフォルト以外の値を初期化する必要があります。
スレッドの同期
次の例では、サイズ 6 の整数型配列が宣言され、その中で 6 つのデフォルト以外の値が初期化されます。
int[] arr = new int[6]; arr[0] = 8; arr[1] = 6; arr[2] = 4; arr[3] = 2; arr[4] = 1; arr[5] = 9;>
中括弧 { } を使用して配列を初期化する
配列のサイズを宣言する必要がない場合は、中括弧を使用して配列を初期化することもできます。デフォルト以外の値はすべて、カンマで区切られた中括弧内で初期化されます。
次の例では、中括弧を使用して文字列型の配列がデフォルト以外の値で初期化されます。
コレクション ジャワ
String[] arrStr = {'Geeks', 'of', 'Geeks'};>
ストリームインターフェースを使用した初期化
配列は、値のストリームを生成するストリーム インターフェイスを使用して初期化でき、その後配列に変換されます。以下は、整数型配列の初期化に使用される 3 つのインストリーム インターフェイスです。
- IntStream.range()
- IntStream.rangeClosed()
- IntStream.of()
1. IntStream.range()
これは、指定された範囲内の整数の配列を初期化するために使用されます。範囲内の最初のパラメータは配列の最初の要素となり、配列内の他の要素はその要素より大きくなりますが、範囲の 2 番目のパラメータよりは小さくなります。
2. IntStream.rangeClosed()
私たちも使うことができます rangeClosed() の代わりに 範囲() 配列内の範囲の最後の要素を追加したい場合。最初のパラメータは、 rangeClosed() メソッドは配列の最初の要素になり、配列内の他の要素はその要素より大きくなりますが、メソッドの 2 番目のパラメーター以下になります。 rangeClosed() 方法。
3. IntStream.of()
このメソッドは、配列に割り当てる各要素を個別に指定する必要がある中括弧と同様に機能します。次のコードでは、これら 3 つのインターフェイスを使用して配列に値を割り当てています。
例:
ジャワ
Javaブール値から文字列へ
// Java program to demonstrate different ways of> // initializing an integer array.> import> java.util.stream.IntStream;> > // Driver Clas> public> class> Main {> > // Main function> > public> static> void> main(String[] args)> > {> > > // an array of integers using IntStream.range()> > // method> > int> [] arr1 = IntStream.range(> 1> ,> 5> ).toArray();> > for> (> int> i => 0> ; i System.out.print(arr1[i] + ' '); } System.out.print('
'); // an array of integers using // IntStream.rangeClosed() method int[] arr2 = IntStream.rangeClosed(1, 4).toArray(); for (int i = 0; i System.out.print(arr2[i] + ' '); } System.out.print('
'); // an array of integers using IntStream.of() // method int[] arr3 = IntStream.of(1, 2, 3, 4).toArray(); for (int i = 0; i System.out.print(arr3[i] + ' '); } } }> |
Javaでスローを投げる
>
>出力
1 2 3 4 1 2 3 4 1 2 3 4>