Javaで配列を作成して操作する方法

配列は、アプリケーションを作成する際に、開発者がデータを格納および取得する簡単な方法を提供します。

配列は、同じデータ型を共有する要素のコレクションを格納、取得、操作するために使用されるデータ構造です。配列は多くの場合、膨大な要素のリストを格納しますが、配列全体には単一の識別子を使用してアクセスできます。これは配列名と呼ばれます。

ただし、配列内の単一の要素にのみアクセスすることが目的である場合、必要な要素のインデックスを配列名と組み合わせてアクセスを許可する必要があります。

配列を使用する方法

配列は、ほとんどすべてのプログラミング言語で使用できます。配列を使用する前に、配列要素の宣言と定義という2つの基本要件を満たす必要があります。

Javaで配列を宣言する方法

Javaでは、配列を2つの方法のいずれかで宣言できます。各メソッドの主な違いは、変数を定義する際に片方がもう一方よりもはるかに多くのスペースを占めることです。

配列の宣言例

public class Arrays {
public static void main(String[] args) {
//整数の配列を宣言する
int[] arr1 = new int[10];
}
}

上記のコードでは、名前arr1の配列が宣言されています。この配列は、10個の整数を格納できます。

上記のarr1に格納されるべき10個の整数がすぐに使用できる場合は、このプロセスにはさらに10行のコードが必要です。

配列の入力例

public class Arrays {
public static void main(String[] args) {
//整数の配列を宣言する
int[] arr1 = new int[10];

//10個の整数要素で配列を入力する
arr1[0] = 2;
arr1[1] = 4;
arr1[2] = 6;
arr1[3] = 8;
arr1[4] = 10;
arr1[5] = 12;
arr1[6] = 14;
arr1[7] = 16;
arr1[8] = 18;
arr1[9] = 20;
}
}

配列では、「インデックス」という用語は、リスト内の特定の要素の位置を指します。各インデックス位置は数値で識別され、デフォルトではすべての配列は位置ゼロから始まります。

したがって、偶数のリストを配列に入れる場合、最初の要素をインデックス位置ゼロに配置する必要があります。これは、配列の名前の後に角カッコのペアが続き、その中に数字のゼロが囲まれていることで表されます。

要素は、上記の例に示すように、等号を使用して配列内の特定の位置に配置されます。この例はまた、arr1配列が宣言されたときに作成された10個の位置すべてに、2~20の偶数整数の値が割り当てられていることも示しています。

配列はこれで完全に設定されました。何らかの理由で上記の例の最後のコード行を削除することにした場合でも、配列は完全に設定されたままになります。唯一の違いは、インデックス位置9の要素がゼロになることです。これは、要素なしで作成された整数配列のすべて的位置に、デフォルトでゼロの値が割り当てられるためです。

そのゼロ値は、上記の例のように、別の値がインデックス位置に明示的に割り当てられた場合にのみオーバーライドされます。

配列を宣言して入力する

コードを1行だけで同じことを実行するはるかに簡単な方法があります。配列を宣言してから各要素を一度に1つの位置に割り当てるのではなく、配列を宣言して適切な要素をすべて一度に割り当てることができます。

配列に変数を宣言して割り当てる例

public class Arrays {

public static void main(String[] args) {

//10個の整数要素で配列を宣言して入力する
int[] arr2 = {1,3,5,7,9,11,13,15,17,19};
}
}

上記の例では、arr2が作成され、10個の奇数の整数で入力されます。以前の配列と同様に、arr2はこれで完了し、使用できるようになりました。

配列内の変数にアクセスする

どのプログラミング言語でも、要素が占める位置がわかっていれば、作成して入力された配列にアクセスするのは非常に簡単です。上記の例に戻ると、プログラムで操作を実行するために値11が必要だったとします。

この値にアクセスするには、値が属する配列の名前と、その配列内の値の位置を知る必要があります。この例では、値11arr2と呼ばれる配列にあり、インデックス5の位置にあることがわかります。

次のコードは、その値へのアクセスを提供します。

public class Arrays {

public static void main(String[] args) {

//10個の整数要素で配列を宣言して入力する
int[] arr2 = {1,3,5,7,9,11,13,15,17,19};

//位置5の値をコンソールに出力する
System.out.println(arr2[5]);
}
}

上記のコードは値11を返します。要素で実行する内容に応じて、新しい変数に割り当てるか、コンソールに出力することができます。上記の例では、値がコンソールに出力され、画面に次の結果が表示されます。

11

何千もの要素を持つ配列を扱っていて、さまざまな時点で何百もの異なる要素を取得する必要がある場合、このアプローチはあまり実用的ではありません。これが、forループが通常、一度に複数の配列変数にアクセスするために使用される理由です。

配列にforループを使用する

forループは、プログラミングで繰り返しを実現するために使用される3つの反復構造のうちの1つです。素朴な観点からでも、配列内の複数の要素にアクセスするプロセスを考えると、多くの繰り返しが行われる必要があることがわかります。

上記の奇数配列のすべての要素をコンソールに出力することは、次の要素に移動する前に1つの要素を明示的に取得して出力する必要がある場合、非常に骨の折れる作業のように思えるかもしれません。

forループは、明示的に行うために必要なコードの半分以下で、この正確なことを暗黙的に行います。

forループを使用して配列要素を取得する例

public class Arrays {

public static void main(String[] args) {

//配列を宣言して初期化する
int[] arr2 = {1,3,5,7,9,11,13,15,17,19};
//count変数を宣言する
int count;

//forループを使用して配列内の各要素をコンソールに出力する
for(count = 0; count < arr2.length; count++) {
System.out.println(arr2[count]);
}
}
}

上記の例では、countという名前の整数変数が、異なる時点での配列内の各要素のインデックス位置になります。これは、forループの最初の行で実現され、そこでcountはゼロに初期化され、配列の長さよりも小さい値(つまり10未満)に制限されます。

count値に対して実行される最後の操作は、forループが実行されるたびに1ずつインクリメントして、配列のインデックス位置にその値を渡すことです。forループの2行目は、コンソールに次の結果を出力します。

13579
11
13151719

配列はデータの格納と取得を容易にする

この記事から、Javaの配列から効率的にデータを格納および取得するために必要なスキルを習得しました。Java配列でforループを使用する方法がわかり、この関数がいかにうまく整理されているかが理解できるようになりました。

Java言語は、クラスとして知られるセクションにも構造化されており、言語を効果的に使用するには、その中でクラスを作成する方法を知る必要があります。