Javaの配列:知っておくべきことは?
公開: 2020-11-30目次
序章
Javaのプリミティブデータ型を調べた後、私たちの多くは、ディスクに複数のエントリを順番に格納できるかどうかという疑問を抱くでしょう。 Javaの配列は、私たちの質問に対する答えになります。
配列は、同じデータ型のエントリを順番に格納するデータ構造です。 配列はコードの重複を減らし、それを単純にします。 かなり多くの値、たとえば50個の値を格納する場合、各値を変数に割り当てると、コードの単純さと矛盾します。
配列はこの問題を克服し、これらすべての値を1つの配列に割り当てることができますが、配列は同じデータ型の値のみを格納できることに注意してください。
始めましょう!
宣言と初期化
配列を使用するには、配列を宣言する必要があり、配列に格納する変数のデータ型を指定する必要があります。 すべてのプログラミング言語と同様に、Javaにも宣言のために従うべき構文があります。
int []配列; // type1 int array []; // type2 |
上記のコードスニペットに示すように、両方の方法で配列を宣言できます。 「type2」は、c /c++から借用した配列を宣言する従来の方法です。 配列の宣言が完了したら、新しい配列を作成する必要があります。これは、newキーワードを使用して実行できます。

また、配列を作成する構文は、「data_type [] array =newarray[array_length]」のようになります。 配列の作成時に配列の長さを割り当てる必要があり、作成後にサイズを増やすことはできません。
長さを指定して配列を作成した後、その変数に空の配列を割り当てるだけで、後で値をその変数にプッシュできます。 そのためのコードを見ていきましょう。
int [] array = new int [ 10 ]; //宣言と //新しい配列を作成します //値を割り当てる 配列[ 0 ] = 1 ; 配列[ 1 ] = 5 ; 配列[ 8 ] = 9 ; //メソッド2 int [ ] array = { 1、2、3、4、5 } ; _ _ _ _ _ システム。 アウト。 print( int [ 0 ]); |
最初は、すべての位置が整数配列のゼロで埋められており、角括弧内のインデックスに言及することで、これらの値を値でオーバーライドできます。 上記のスニペットでは、「メソッド2」は配列を作成する別の方法です。
配列をループする
配列をループするためにforループまたはwhileループを使用できます。ここで、反復ごとにインデックスをインクリメントします。 配列の長さよりも大きいインデックスを持つ要素にアクセスすると、例外がスローされることに注意してください。
int [ ] array = { 1、2、3、4、5 } ; _ _ _ _ _ for ( int i = 0 ; i < 5 ; i ++ ){ システム。 アウト。 print(array [i] + “ “ ); } |
上記のコードスニペットは、出力として「1 2 345」を出力します。
ループを反復処理するための「for-eachループ」と呼ばれる別の興味深いループもあります。
float [] array = { 1.2f 、 2.3f 、 3.4f 、 4.5f 、 5.6f }; for ( float f : array){ システム。 アウト。 print(f + “ “ ); } |
上記のコードスニペットは、for-eachループの実装を示しています。ここで、変数floatは、各反復で値を配列内の次のエントリに変更します。 この実装には、インデックス変数は必要ありません。
チェックアウト: Javaの完全なArrayList:知っておくべきこと
事前定義されたメソッド
JavaのArraysクラスには、すべてのプリミティブデータ型に一般化された多くの定義済みメソッドが付属しています。 たとえば、すべて整数の配列とすべて浮動小数点数の配列を並べ替える場合は、どちらの場合も同じ方法を使用できます。
事前定義された配列メソッドのいくつかを見ていきましょう。
- 選別()
このメソッドは、指定された配列を昇順で並べ替え、並べ替えられた配列を更新します。これについては、すでに説明したように、このメソッドはJavaのすべてのプリミティブデータ型に対してオーバーロードされています。 このパブリックメソッドはvoidreturnタイプであるため、何も返しません。
Arrays.sort(array_name)は、従うべき構文です。
float [] array = { 2.2f 、 1.3f 、 5.4f 、 3.5f 、 7.6f };![]() 配列。 sort(array); for ( float f : array){ システム。 アウト。 print(f + “ “ ); } |
上記のスニペットは、期待どおりに「1.3 2.23.55.47.6」を出力します。
- 塗りつぶし()
このメソッドは、関数呼び出しで渡した変数で配列を埋めます。 このメソッドは、配列をループしてその位置に値を割り当てるという単純な実装に代わるものです。
Arrays.fill(array_name、value)は、従うべき構文です。
float [] array = { 2.2f 、 1.3f 、 5.4f 、 3.5f 、 7.6f }; 配列。 fill(array、 9.8f ); for ( float f : array){ システム。 アウト。 print(f + “ “ ); } |
上記のスニペットは、配列内のすべてのエントリを9.8に置き換えます。
- equals()
このメソッドは、パラメーターとして2つの配列を想定し、配列1のすべての要素が配列2のすべての要素と等しい場合、trueを返します。両方の配列の長さが異なる場合、または要素の順序が異なる場合、このメソッドはfalseを返すことに注意してください。 。
Arrays.equals(array_1、array_2)は、従うべき構文です。
float [] array1 = { 2.2f 、 1.3f 、 5.4f 、 3.5f 、 7.6f }; float [] array2 = { 2.2f 、 1.3f 、 5.4f 、 3.5f 、 7.6f }; float [] array3 = { 2.2f 、 1.3f 、 3.5f 、 5.4f 、 7.6f }; システム。 アウト。 println(配列。equals(array1 、 array2)); //ライン1 システム。 アウト。 println(配列。equals(array1 、 array3)); //2行目 |
上記のスニペットは、line1の場合はTrue、line2の場合はFalseを出力します。
javaのさまざまな配列メソッドの詳細については、それらのドキュメントを参照してください。
メソッドで配列にアクセスする
関数で配列を使用できない場合、配列は役に立ちません。 しかし、Javaは決してあなたを失望させません。配列を渡し、配列を返し、Java関数で配列を使用することができます。
それらを見ていきましょう。

配列をJava関数に渡す場合は、関数宣言で配列のデータ型を指定する必要があります。 これは、プリミティブデータ型を関数に渡すのとほとんど同じです。 同様に、配列を返すときは、戻り型として配列を使用して配列を宣言する必要があります。
public static float []sorted( float [] array){ 配列。 sort(array); 配列を返します。 } public static void main( String args []){ float [] array1 = { 2.2f 、 1.3f 、 5.4f 、 3.5f 、 7.6f }; float [] array2 = sorted(array1); for ( float f : array2) システム。 アウト。 print(f + “ “ ); } |
上記のスニペットは、期待どおりに「1.3 2.23.55.47.6」を出力します。
読む: MATLABデータ型:知っておくべきことすべて
結論
これで、Javaの配列に気づきました。 配列の初期化と宣言について理解しました。 アレイを反復処理するさまざまな方法を検討しました。 事前定義された配列メソッドのいくつかをウォークスルーし、メソッド内の配列にアクセスしました。 あなたはJavaの便利なデータ構造でパワーパックされています、今それを使い始めてください!
Java、OOP、フルスタックソフトウェア開発について詳しく知りたい場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のPGディプロマをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニングを提供します。9 +プロジェクト、割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。