articles
レベル 15

Java配列

Random-JA グループに公開済み

配列

配列は、同じ型の値を格納するデータ構造です。個々の配列要素には、整数インデックスを使用してアクセスします。たとえば、a が整数の配列の場合、式 a[i] の値は配列内の i 番目の整数と等しくなります。 Java 配列 - 1配列は次のように宣言されます。最初に配列の型、つまり配列に含まれる要素の型が示され、次に空の角括弧のペア、そして変数の名前が続きます。たとえば、整数で構成される配列を宣言する方法は次のとおりです。
int[] a;
ただし、このステートメントは変数を宣言するだけでありа、実際の配列で初期化することはありません。配列を作成するには、演算子を使用する必要がありますnew
int[] a = new int [100];
この演算子は、100 個の整数の配列を作成します。この配列の要素には、0 から 99 までの番号が付けられます (1 から 100 までではありません)。配列を作成したら、ループなどを使用して配列を埋めることができます。
int[] а = new int[100];
for (int i = 0; i < 100; i++)
 a[i] = i; //Заполняет массив числами от 0 до 99
100 要素の配列を作成して要素а [100](またはインデックスが 0 ~ 99 の範囲外にあるその他の要素) にアクセスしようとすると、配列インデックスが範囲外の例外が発生するため、プログラムは終了します。配列内の要素の数をカウントするには、配列名メソッドを使用します.length。例えば、
for (int i = 0; i < a.length; i++, System.out.println(a[i]));
配列が作成されると、そのサイズを変更することはできません (もちろん、個々の要素を変更することはできます)。プログラムの実行中に配列のサイズを頻繁に変更する必要がある場合は、配列リストと呼ばれる別のデータ構造を使用することをお勧めします。配列は次の 2 つの方法で宣言できます。
int[] a;
or
int a[];
ほとんどの Java プログラマは、配列タイプint [](整数配列) を変数名からより明確に分離できるため、最初のスタイルを好みます。

配列初期化子と名前のない配列

Java には、配列の作成と初期化を同時に行う機能があります。このような構文構造の例を次に示します。
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
この場合、演算子を使用する必要がないことに注意してくださいnew。さらに、名前のない配列を初期化することもできます。
new int[] {16, 19, 23, 29, 31, 37}
この式は、新しい配列にメモリを割り当て、中括弧で指定された数値をその配列に埋めます。この場合、それらの数が計算され、それに応じて配列のサイズが決定されます。この構文構造は、新しい変数を作成せずに配列を再初期化するために使用すると便利です。たとえば、次のような式が挙げられます。
smallPrimes = new int{17, 19, 23, 29, 31, 37};
短縮された表現です
int[] anonymous = {17, 19, 23, 29, 31, 37};
smallPrimes = anonymous;
サイズがゼロの配列を作成することも可能です。このような配列は、空であることが判明した配列を評価するメソッドを作成するときに役立ちます。長さ 0 の配列は次のように宣言されます。
new тип Элементов[]
このような配列はオブジェクトと同等ではないことに注意してくださいnull

配列のコピー

1 つの配列を別の配列にコピーできますが、両方の変数は同じ配列を参照します。
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12; //Теперь элемент smallPrimes[5]также equals 12
結果を図に示します。3.1. ある配列のすべての要素を別の配列にコピーする必要がある場合は、クラスの arraycopy メソッドを使用する必要がありますSystem。その呼び出しは次のようになります。
System.arraycopy(from, fromlndex, to, tolndex, count);
配列は、toコピーするすべての要素を含むのに十分な大きさである必要があります。 Java 配列 - 2
図3.1。配列のコピー
たとえば、以下に示す演算子とその結果を図に示します。3.2、2 つの配列を作成し、最初の配列の最後の 4 つの要素を 2 番目の配列にコピーします。コピーはソース配列の 2 番目の位置から開始され、コピーされた要素はコピー先配列の 3 番目の位置から配置されます。
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
int[] luckyNumbers = {1001, 1002, 1003, 1004, 1005, 1006, 1007};
System.аrrаусору(smallPrimes, 2, luckyNumbers, 3, 4);
for (int i = 0; i < luckyNumbers.length; i++)
System.out.println(i + ": " + luckyNumbers[i]);
これらのステートメントを実行すると、次の結果が生成されます。
0: 1001
1: 1002
2: 1003
3: 5
4: 7
5: 11
6: 13
Java 配列 - 3
米。3.2. 配列要素のコピー
Java の配列は C++ の配列とは大きく異なります。ただし、実際には動的配列へのポインタと同じです。これは、オペレータが
int[] a = new int[100]; //Java
演算子と同等です
int* = new int[100]; //C++,
а не
int a[100]; //C++
Java では、[]デフォルトの演算子はインデックスの変更範囲をチェックします。さらに、Java にはポインタ演算がありません。配列の次の要素にアクセスするためにポインタをインクリメントすることはできません。 ソースへのリンク: Java 配列
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION