Java での配列の操作

Java で配列を初期化、設定、アクセス、およびコピーする方法

彼のオフィスで働く若い開発者。

vgajic/ゲッティ イメージズ





プログラムが同じ値の数を処理する必要がある場合変数番号ごとに。たとえば、宝くじの番号を表示するプログラムは次のとおりです。

|_+_||_+_| |_+_| |_+_| |_+_| |_+_|

グループ化できる値を処理するより洗練された方法は、配列を使用することです。配列は、一定数のデータ型の値を保持するコンテナーです。上記の例では、宝くじの番号を int 配列にまとめることができます。



|_+_|

配列はボックスの行と考えてください。配列内のボックスの数は変更できません。各ボックスは、他のボックスに含まれる値と同じデータ型である限り、値を保持できます。ボックスの内部を調べて、含まれている値を確認したり、ボックスの内容を別の値に置き換えたりできます。配列について話すとき、ボックスは要素と呼ばれます。

配列の宣言と初期化

配列の宣言ステートメントは、 他の変数を宣言する .これには、データ型の後に配列の名前が続きます。唯一の違いは、データ型の横に角括弧が含まれていることです。



|_+_||_+_| |_+_|

宣言文 上記はコンパイラにそれを伝えます

|_+_|変数は|_+_|の配列、|_+_|は|_+_|および|_+_|の配列

括弧内の数字は、配列が保持する要素の数を定義します。上記の割り当てステートメントは、10 個の要素を持つ int 配列を作成します。もちろん、宣言と代入を 1 つのステートメントで実行できない理由はありません。

|_+_|

配列はプリミティブ データ型に限定されません。オブジェクトの配列を作成できます:

|_+_|

配列の使用

配列が初期化されると、配列のインデックスを使用して要素に値を割り当てることができます。インデックスは、配列内の各要素の位置を定義します。最初の要素は 0、2 番目の要素は 1 というように続きます。最初の要素のインデックスが 0 であることに注意することが重要です。配列には 10 個の要素があるため、インデックスが 0 から 9 ではなく 1 から 10 であると考えるのは簡単です。たとえば、宝くじに戻ると、数字の例では、6 つの要素を含む配列を作成し、要素に宝くじ番号を割り当てることができます。



|_+_||_+_| |_+_| |_+_| |_+_| |_+_| |_+_|

要素の値を宣言ステートメントに入れることで、配列内の要素を埋めるショートカットがあります。

|_+_||_+_|

各要素の値は、中かっこのペア内に配置されます。値の順序によって、インデックス位置 0 から始まる値がどの要素に割り当てられるかが決まります。配列内の要素の数は、中括弧内の値の数によって決まります。



要素の値を取得するには、そのインデックスが使用されます。

|_+_|

配列に含まれる要素の数を調べるには、長さフィールドを使用します。



|_+_|

ノート: length メソッドを使用する際のよくある間違いは、長さの値をインデックス位置として使用することを忘れることです。配列のインデックス位置は 0 から長さ - 1 までであるため、これは常にエラーになります。

多次元配列

これまで見てきた配列は、1 次元 (または 1 次元) 配列として知られています。これは、要素が 1 行しかないことを意味します。ただし、配列は複数の次元を持つことができます。多次元は、実際には配列を含む配列です。



|_+_|

多次元配列のインデックスは、次の 2 つの数値で構成されます。

|_+_|

多次元配列に含まれる配列の長さは同じである必要はありませんが、

|_+_|

配列のコピー

配列をコピーする最も簡単な方法は、

|_+_|System クラスのメソッド。 |_+_|メソッドを使用して、配列のすべての要素またはそれらのサブセクションをコピーできます。 |_+_| には 5 つのパラメーターが渡されます。

たとえば、配列の最後の 4 つの要素を含む新しい配列を作成するには、

|_+_||_+_| |_+_|

配列は固定長なので、

配列コピー

配列に関する知識をさらに深めるために、Arrays クラスを使用した配列の操作と、 ArrayList クラス .