java array class tutorial java
このチュートリアルでは、Javaの配列クラスとjava.util.arraysクラスのメソッド、および配列クラスメソッドの詳細な説明と例について説明します。
「Arrays」クラスは「java.util」パッケージのメンバーです。これはJavaコレクションフレームワークの一部であり、Java配列を動的に作成、アクセス、および操作するためのメソッドを提供します。
Arraysクラスによって提供されるすべてのメソッドは、本質的に静的であり、「Object」クラスのメソッドです。メソッドは静的であるため、クラス名自体を使用してアクセスできます。
=> ここですべてのJavaチュートリアルを確認してください。
学習内容:
Java配列クラス
ArraysクラスはJava1.2で導入され、そこに含まれるメソッドは主に、検索、並べ替えなどを含む配列の操作に使用されます。arraysクラスは、ほとんどすべてのデータ型に対してオーバーロードされたメソッドを提供します。
Arraysクラスのクラス階層を以下に示します。
ArraysクラスはObjectクラスから拡張され、そのメソッドはObjectクラスのメソッドです。
Arraysクラスの任意のメソッドにアクセスするための一般的な構文は次のとおりです。
Arrays.;
次のセクションでは、Arraysクラスによって提供されるさまざまなメソッドをリストします。
Java配列メソッド
次の表は、Arraysクラスによって提供されるさまざまなメソッドの概要を示しています。ここに主な方法をリストしました。ほとんどのメソッドは、すべてのプリミティブ型をサポートするためにオーバーロードされていることに注意してください。
各関数のプロトタイプと説明をリストします。次に、次のセクションでは、プログラミング例を提供することにより、いくつかの重要な方法について説明します。
メソッド名 | プロトタイプ | 説明 |
---|---|---|
static int binarySearch(double () a、int fromIndex、int toIndex、double key) | 二重配列で指定された範囲全体でキーを検索します | |
asList | 静的リスト< T> asList(Object () a) | 指定された配列からリスト(固定サイズ)を返します |
binarySearch この方法では、二分探索アルゴリズムを使用します。 次の列に示されているのは、binarySearchメソッドのさまざまなオーバーロードです。 | static int binarySearch(byte () a、byte key) | バイト配列でキーを検索します |
static int binarySearch(byte () a、int fromIndex、int toIndex、byte key) | バイト配列内の指定された範囲全体でキーを検索します | |
static int binarySearch(char () a、char key) | 文字配列内のキーを検索します | |
static int binarySearch(char () a、int fromIndex、int toIndex、char key) | 文字配列内の指定された範囲でキーを検索します | |
static int binarySearch(double () a、double key) | 二重配列のキーを検索します | |
static int binarySearch(float () a、float key) | floatの配列内のキーを検索します | |
static int binarySearch(float () a、int fromIndex、int toIndex、float key) | float配列で指定された範囲全体でキーを検索します | |
static int binarySearch(int () a、int key) | int配列内のキーを検索します | |
static int binarySearch(int () a、int fromIndex、int toIndex、int key) | int配列で指定された範囲全体でキーを検索します | |
static int binarySearch(long () a、long key) | 長い配列でキーを検索します | |
static int binarySearch(long () a、int fromIndex、int toIndex、long key) | 長い配列で指定された範囲全体でキーを検索します | |
static int binarySearch(Object () a、Object key) | オブジェクト配列内のキーを検索します | |
static int binarySearch(Object () a、int fromIndex、int toIndex、Object key) | オブジェクト配列内の指定された範囲でキーを検索します | |
static int binarySearch(short () a、short key) | ショートパンツの配列でキーを検索します | |
static int binarySearch(short () a、int fromIndex、int toIndex、short key) | ショートパンツの配列で指定された範囲全体でキーを検索します | |
static int binarySearch(T () a、T key、Comparator c) | 指定されたオブジェクトの配列内のキーを検索します | |
static int binarySearch(T () a、int fromIndex、int toIndex、T key、Comparator c) | オブジェクトの配列内の指定された範囲でキーを検索します |
メソッド名 | プロトタイプ | 説明 |
---|---|---|
static long () copyOf(long () original、int newLength) | 指定された配列をコピーします。必要に応じてゼロを切り捨てるか追加します | |
のコピー このメソッドは、指定された長さの配列をコピーするために使用されます。 次の列は、このメソッドのオーバーロードを示しています | static boolean () copyOf(boolean () original、int newLength) | 指定された配列をコピーします。必要に応じて、値「false」を切り捨てるか追加します |
static byte () copyOf(byte () original、int newLength) | 指定された配列をコピーします。必要に応じてゼロを切り捨てるか追加します | |
static char () copyOf(char () original、int newLength) | 指定された配列をコピーします。必要に応じてnullを切り捨てるか追加します | |
static double () copyOf(double () original、int newLength) | 指定された配列をコピーします。必要に応じてゼロを切り捨てるか追加します | |
static float () copyOf(float () original、int newLength) | 指定された配列をコピーします。必要に応じてゼロを切り捨てるか追加します | |
static int () copyOf(int () original、int newLength) | 指定された配列をコピーします。必要に応じてゼロを切り捨てるか追加します | |
static short () copyOf(short () original、int newLength) | 指定された配列をコピーします。必要に応じてゼロを切り捨てるか追加します | |
static T () copyOf(T () original、int newLength) | 指定された配列をコピーします。必要に応じてnullを切り捨てるか追加します | |
static T () copyOf(U () original、int newLength、ClassnewType) | 指定された配列をコピーします。必要に応じてnullを切り捨てるか追加します | |
copyOfRange このメソッドは、配列内の指定された範囲をコピーするために使用されます。 このメソッドのオーバーロードは次の列に示されています | static boolean () copyOfRange(boolean () original、int from、int to) | 指定された範囲の配列を新しい配列にコピーします |
static byte () copyOfRange(byte () original、int from、int to) | 指定された範囲の配列を新しい配列にコピーします | |
static char () copyOfRange(char () original、int from、int to) | 指定された範囲の配列を新しい配列にコピーします | |
static double () copyOfRange(double () original、int from、int to) | 指定された範囲の配列を新しい配列にコピーします | |
static float () copyOfRange(float () original、int from、int to) | 指定された範囲の配列を新しい配列にコピーします | |
static int () copyOfRange(int () original、int from、int to) | 指定された範囲の配列を新しい配列にコピーします | |
static long () copyOfRange(long () original、int from、int to) | 指定された範囲の配列を新しい配列にコピーします | |
static short () copyOfRange(short () original、int from、int to) | 指定された範囲の配列を新しい配列にコピーします | |
static T () copyOfRange(T () original、int from、int to) | 指定された範囲の配列を新しい配列にコピーします | |
static T () copyOfRange(U () original、int from、int to、ClassnewType) | 指定された範囲の配列を新しい配列にコピーします |
メソッド名 | プロトタイプ | 説明 |
---|---|---|
static boolean equals(double () a、double () a2) | 指定された2つのdouble配列が等しい場合にtrueを返します。 | |
deepEquals | static boolean deepEquals(Object () a1、Object () a2) | 指定された2つの配列が完全に等しいかどうかを確認します |
deepHashCode | static intdeepHashCode(Object () a) | 指定された配列のハッシュコードを返します |
deepToString | static StringdeepToString(Object () a) | 指定された配列の「深い内容」を文字列で返します |
等しい 指定された2つの配列が等しいかどうかを確認します | static boolean equals(boolean () a、boolean () a2) | 指定された2つのbooleanarrayが等しい場合にtrueを返します。 |
static boolean equals(byte () a、byte () a2) | 指定された2つのバイト配列が等しい場合はtrueを返します | |
static boolean equals(char () a、char () a2) | 指定された2つの文字配列が等しい場合にtrueを返します。 | |
static boolean equals(float () a、float () a2) | 指定された2つのfloat配列が等しい場合にtrueを返します。 | |
static boolean equals(int () a、int () a2) | 指定された2つのint配列が等しい場合にtrueを返します。 | |
static boolean equals(long () a、long () a2) | 指定された2つの長い配列が等しい場合にtrueを返します。 | |
static boolean equals(Object () a、Object () a2) | 指定された2つのオブジェクト配列が等しい場合にtrueを返します。 | |
static boolean equals(short () a、short () a2) | 指定された2つの短い配列が等しい場合にtrueを返します。 |
メソッド名 | プロトタイプ | 説明 |
---|---|---|
static void fill(double () a、double val) | double配列を指定されたdouble値で埋めます | |
塗りつぶし 配列(すべての要素)に指定された値を入力します。 次の列は、この関数のオーバーロードを示しています | static void fill(boolean () a、boolean val) | ブール配列を指定されたブール値で埋めます |
static void fill(boolean () a、int fromIndex、int toIndex、boolean val) | ブール配列の指定された範囲にブール値を割り当てます。 | |
static void fill(byte () a、byte val) | 指定されたバイト値でバイト配列を埋めます | |
static void fill(byte () a、int fromIndex、int toIndex、byte val) | 指定された範囲内の指定されたバイト値でバイト配列を埋めます | |
static void fill(char () a、char val) | char配列に指定されたchar値を入力します | |
static void fill(char () a、int fromIndex、int toIndex、char val) | char配列範囲を指定されたchar値で埋めます | |
static void fill(double () a、int fromIndex、int toIndex、double val) | double配列内の指定された範囲にdouble値を割り当てます。 | |
static void fill(float () a、float val) | float配列の指定された範囲にfloat値を割り当てます。 | |
static void fill(float () a、int fromIndex、int toIndex、float val) | float配列の指定された範囲にfloat値を割り当てます。 | |
static void fill(int () a、int val) | int値をint配列に割り当てます。 | |
static void fill(int () a、int fromIndex、int toIndex、int val) | int配列の指定された範囲にint値を割り当てます。 | |
static void fill(long () a、int fromIndex、int toIndex、long val) | long配列の指定された範囲にlong値を割り当てます。 | |
static void fill(long () a、long val) | long配列にlong値を割り当てます。 | |
static void fill(Object () a、int fromIndex、int toIndex、Object val) | オブジェクト参照をオブジェクト配列の指定された範囲に割り当てます。 | |
static void fill(Object () a、Object val) | 指定されたobjectarrayにオブジェクト参照を割り当てます | |
static void fill(short () a、int fromIndex、int toIndex、short val) | 短い配列の指定された範囲に短い値を割り当てます。 | |
static void fill(short () a、short val) | 指定された短い配列に短い値を割り当てます。 |
メソッド名 | プロトタイプ | 説明 |
---|---|---|
static void sort(float () a) | float配列を番号の昇順で並べ替えます。 | |
ソート メソッドにパラメーターとして渡された配列を並べ替えます。 過負荷は次の列に示されています。 | static void sort(byte () a) | バイト配列を数値でソートします |
static void sort(byte () a、int fromIndex、int toIndex) | 配列から要素の範囲を並べ替えます | |
static void sort(char () a) | 文字配列を番号の昇順で並べ替えます。 | |
static void sort(char () a、int fromIndex、int toIndex) | 配列内の要素の範囲を昇順で並べ替えます。 | |
static void sort(double () a) | 二重配列を番号の昇順で並べ替えます。 | |
static void sort(double () a、int fromIndex、int toIndex) | 配列の要素の範囲を昇順で並べ替えます。 | |
static void sort(float () a、int fromIndex、int toIndex) | 配列の要素の範囲を昇順で並べ替えます。 | |
static void sort(int () a) | int配列を数値の昇順で並べ替えます。 | |
static void sort(int () a、int fromIndex、int toIndex) | 配列の要素の範囲を昇順で並べ替えます。 | |
static void sort(long () a) | 長い配列を番号の昇順で並べ替えます。 | |
static void sort(long () a、int fromIndex、int toIndex) | 配列の要素の範囲を昇順で並べ替えます | |
static void sort(Object () a) | オブジェクトの配列を昇順で並べ替えます。並べ替えは、要素の自然な順序に従って行われます | |
static void sort(Object () a、int fromIndex、int toIndex) | オブジェクトの配列から指定された範囲を昇順で並べ替えます。並べ替えは、要素の自然な順序に従って行われます。 | |
static void sort(short () a) | short型の配列を番号の昇順で並べ替えます。 | |
static void sort(short () a、int fromIndex、int toIndex) | 配列の要素の範囲を昇順で並べ替えます。 | |
static void sort(T () a、コンパレータc) | 指定されたオブジェクトの配列を並べ替えます。ソートの順序は、指定されたコンパレータに従って誘導されます。 | |
static void sort(T () a、int fromIndex、int toIndex、Comparator c) | コンパレータで指定された順序で、オブジェクトの配列から要素の範囲を並べ替えます。 |
メソッド名 | プロトタイプ | 説明 |
---|---|---|
静的文字列toString(long () a) | 長い配列の文字列表現を返します | |
toString このメソッドは、指定された配列の文字列表現を返します。 このメソッドのさまざまなオーバーロードを次の列に示します | 静的文字列toString(boolean () a) | ブール配列の文字列表現を返します |
静的文字列toString(byte () a) | バイト配列の文字列表現を返します | |
静的文字列toString(char () a) | 文字配列の文字列表現を返します | |
静的文字列toString(double () a) | 二重配列の文字列表現を返します | |
静的文字列toString(float () a) | float配列の文字列表現を返します | |
静的文字列toString(int () a) | int配列の文字列表現を返します | |
静的文字列toString(Object () a) | オブジェクト配列の文字列表現を返します | |
静的文字列toString(short () a) | 短い配列の文字列表現を返します |
メソッド名 | プロトタイプ | 説明 |
---|---|---|
static int hashCode(long () a) | 長い配列の内容のハッシュコードを返します | |
ハッシュコード このメソッドは、指定された配列の内容のhashCodeを返します オーバーロードされたメソッドは次の列に示されています。 | static int hashCode(boolean () a) | ブール配列の内容のハッシュコードを返します |
static int hashCode(byte () a) | バイト配列の内容のハッシュコードを返します | |
static int hashCode(char () a) | 文字配列の内容のハッシュコードを返します | |
static int hashCode(double () a) | 二重配列の内容のハッシュコードを返します | |
static int hashCode(float () a) | float配列の内容のハッシュコードを返します | |
static int hashCode(int () a) | int配列の内容のハッシュコードを返します。 | |
static int hashCode(Object () a) | オブジェクト配列の内容のハッシュコードを返します | |
static int hashCode(short () a) | 短い配列の内容のハッシュコードを返します |
上記の表は、Arraysクラスが提供するすべてのメソッドを示しています。これらのほとんどは、さまざまなプリミティブ型に対してオーバーロードされています。
これらの方法のいくつかについて詳しく説明しましょう。
#1)asList
プロトタイプ: 静的リストasList(Object () a)
パラメーター: a –リストのバックアップ元となるオブジェクトの配列。
戻り値: リスト=>指定された配列の固定サイズのリスト
説明: 引数として指定された配列に裏打ちされた固定サイズのシリアル化可能なリストを返します。
例:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String() args) { String() months = {'January', 'February', 'March', 'April', 'May'}; // converted string array to a List using asList System.out.println('The string array converted to list:'); List month_list = Arrays.asList(months); System.out.println(month_list); } }
出力:
上記のプログラムは、Arraysクラスの「asList」メソッドの使用法を示しています。ここでは、文字列配列を宣言し、それをasListメソッドに渡してリストを取得しました。
#2)binarySearch
プロトタイプ: static int binarySearch(int () a、int key)
パラメーター:
a =>キーが検索される配列
キー=>検索する要素値
戻り値: int =>キーが見つかった位置(インデックス)、それ以外の場合は(-(「挿入ポイント」)– 1)を返します。
説明: バイナリ検索アルゴリズムを使用して、指定された配列内の指定されたキーを検索します。バイナリ検索を機能させるには、配列を並べ替える必要があります。配列がソートされていない場合、結果は未定義です。また、同じキー値に対して配列内に複数の場所がある場合、返される位置は保証されません。
例:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String() args) { // define the Array int numArr() = { 23,43,26,65,35,16,74,27,98 }; //sort the array first Arrays.sort(numArr); System.out.println('Input array:' + Arrays.toString(numArr)); int key = 35; //call binarySearch function to search a given key System.out.println('Key ' + key + ' found at index = ' + Arrays .binarySearch(numArr, key)); } }
出力:
経験豊富なado.netインタビューの質問と回答
上記のプログラムでは、binarySearchの場合は配列を並べ替える必要があるため、最初に入力配列を並べ替えます。次に、検索する配列とキーが「binarySearch」メソッドに渡されます。キーが見つかったインデックスが出力に表示されます。
プロトタイプ: static int binarySearch(int () a、int fromIndex、int toIndex、int key)
パラメーター:
a =>検索する配列
fromIndex =>キーが検索される範囲の開始インデックス
toIndex =>範囲内の最後の要素のインデックス
key =>検索するキー
戻り値: キー要素のインデックスが指定された範囲内にあります。それ以外の場合は、(-(「挿入ポイント」)– 1)を返します。
説明: このbinarySearchのオーバーロードは、配列の指定された範囲でキー値を検索し、見つかった場合はキー要素のインデックス位置を返します。配列、したがって範囲は、binarySearchが機能するようにソートする必要があります。並べ替えられていない場合、結果は未定義です。
例:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String() args) { int numArr() = { 23,43,26,65,35,16,74,27,98 }; // define the Array Arrays.sort(numArr); //sort the array first System.out.println('Input array:' + Arrays.toString(numArr)); int key = 35; //call binarySearch function to search a given key System.out.println('Key ' + key + ' found at index = ' + Arrays .binarySearch(numArr,3,7, key)); } }
出力:
上記のプログラムは前のプログラムと同じですが、binarySearchメソッドの呼び出しで、検索が実行される配列の範囲を指定した点が異なります。
#3)copyOf
プロトタイプ: static int () copyOf(int () original、int newLength)
パラメーター:
original =>コピーする配列
newLength =>コピーされた配列の長さ
戻り値: 元の配列からコピーされ、指定された長さに応じてゼロが埋め込まれるか切り捨てられる新しい配列。
説明: 元の配列を新しい配列にコピーし、指定された長さに応じてゼロでパディングまたは切り捨てます。
例:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the Array String strArr() = {'Java', 'Python', 'Perl', 'C', 'Ruby'}; // print the original array System.out.println('Original String Array: ' + Arrays.toString(strArr)); //copy the array into new array using copyOf and print it System.out.println('Copied Array: ' + Arrays.toString( Arrays.copyOf(strArr, 5))); } }
出力:
上記のプログラムは、指定された配列を新しい配列にコピーするArraysクラスの「copyOf」メソッドの使用法を示しています。上記のプログラムは、元の文字列配列を新しい配列にコピーします。
#4)copyOfRange
プロトタイプ: static int () copyOfRange(int () original、int from、int to)
パラメーター:
original =>範囲内の値のコピー元の配列
From =>範囲の最初のインデックス
To =>範囲の最後のインデックス
戻り値: 指定された範囲の値を含む新しい配列で、ゼロが切り捨てられるか、必要な長さになるように埋め込まれます。
説明: 指定された配列から指定された範囲を新しい配列にコピーします。配列の開始インデックスは、0からoriginal.lengthまでの範囲である必要があります。終了インデックスは排他的にすることができます。
例:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the Array String strArr() = {'Java', 'Python', 'Perl', 'C', 'Ruby'}; // print the original array System.out.println('Original String Array: ' + Arrays.toString(strArr)); //copy the array into new array using copyOfRange and print it System.out.println('Copied Range of Array: ' + Arrays.toString( Arrays.copyOfRange(strArr,1,3))); } }
出力:
以前のプログラムを変更して、配列から特定の範囲をコピーして新しい配列を形成する「copyOfRange」メソッドを使用するようにしました。上記のプログラムでは、1、3のような範囲を指定しました。したがって、出力には2つの要素の新しい配列が表示されます。
#5)等しい
プロトタイプ: static boolean equals(int () a、int () a2)
パラメーター:
に => 等しいかどうかをテストする最初のアレイ
A2 =>等しいかどうかをテストする2番目の配列
戻り値: 両方の配列が等しい場合はtrueを返します。
説明: このメソッドは、両方の配列が等しいかどうかをチェックし、結果を返します。両方の配列に同じ数の要素があり、両方の配列の対応する要素が等しい場合、2つの配列は等しいと言われます。
例:
import java.util.Arrays; public class Main { public static void main(String() args) { // define two arrays, array_One and array_Two int() array_One = { 1, 3, 5, 7 }; int() array_Two = { 1, 3, 5, 7 }; //print the arrays System.out.println('array_One = ' + Arrays.toString(array_One)); System.out.println('array_Two = ' + Arrays.toString(array_Two)); //use equals method to check for equality of arrays booleanarray_equal = Arrays.equals(array_One, array_Two); //print the results if (array_equal) { System.out.println('equals method returns ' + array_equal + ', hence arrays array_One and array_Two are equal
'); }else { System.out.println('equals method returns ' + array_equal + ', hence arrays array_One and array_Two are not equal
'); } // define two more arrays, firstArray&secondArray int() firstArray = { 2, 4, 6, 8 }; int() secondArray = { 1, 3, 5, 7}; //display these arrays System.out.println('firstArray = ' + Arrays.toString(firstArray)); System.out.println('secondArray = ' + Arrays.toString(secondArray)); //use equals method to check equality of arrays boolean test_array = Arrays.equals(firstArray, secondArray); //print the results if (test_array) { System.out.println('equals method returns ' + test_array + ', hence arrays firstArray and secondArray are equal
'); }else { System.out.println('equals method returns ' + test_array + ', hence arrays firstArray and secondArray are not equal
'); } } }
出力:
二分探索木javaコード例
上記のプログラムは、「等しい」方法を示しています。ここでは、2セットの配列を使用し、「equals」を2回呼び出しました。 equalsの最初の呼び出しでは、両方の配列が同じであるため、メソッドはtrueを返します。 equalsへの2番目の呼び出しでは、2つの配列が異なり、メソッドはfalseを返します。
#6)塗りつぶし
プロトタイプ: static void fill(int () a、int val)
パラメーター:
a =>入力する配列
val =>配列のすべての場所に入力される値
戻り値: 無し
説明: 指定された値で配列を埋めます。
例:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = { 1, 3, 5, 7 }; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call fill method to fill the array with all zeros Arrays.fill(intArray, 0); //print altered array System.out.println('Array after call to fill:' + Arrays.toString(intArray)); } }
出力:
上記のプログラムは、fillメソッドの基本バージョンを示しています。ここでは、配列全体を別の値で埋めるだけです。この場合、配列をすべてゼロで埋めました。
プロトタイプ: static void fill(int () a、int fromIndex、int toIndex、int val)
パラメーター:
a =>範囲が埋められる配列
fromIndex =>範囲の開始インデックス
toIndex =>範囲の終了インデックス
val =>範囲内の要素が入力される値
戻り値: 無し
説明: 配列「a」のfromIndexからtoIndexまでの指定された範囲に、指定された値を入力します。 fromIndex = toIndexの場合、入力される範囲は空です。
例:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = { 1, 3, 5, 7, 9, 11, 13, 15,17}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call fill method to fill the range (2,6) in the array with zeros Arrays.fill(intArray, 2, 6, 0); //print altered array System.out.println('Array after call to fill the range(2,6):' + Arrays.toString(intArray)); } }
出力:
これはfillメソッドの別のバージョンであり、異なる値で塗りつぶされる配列内の特定の範囲を指定します。上記のプログラムでは、ゼロで埋められる範囲(2、6)を指定しました。他の要素は、出力に示されているものと同じままです。
#7)並べ替え
プロトタイプ: static void sort(int () a)
パラメーター: a =>ソートする配列
戻り値: 無し
説明: このメソッドは、配列を昇順でソートします。
例:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = {10,4,25,63,21,51,73,24,87,18}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call sort method to sort the given array in ascending order Arrays.sort(intArray); //print altered array System.out.println('Sorted array:' + Arrays.toString(intArray)); } }
出力:
上記のプログラムは、Arraysクラスのsortメソッドを使用して整数の配列をソートし、ソートされた配列を出力します。
プロトタイプ: static void sort(int () a、int fromIndex、int toIndex)
パラメーター:
a =>範囲がソートされる配列
fromIndex =>範囲の開始インデックス
toIndex =>範囲の終了インデックス
戻り値: 無し
説明: fromIndexからtoIndexまでの範囲を昇順で並べ替えます。 fromIndex = toIndexの場合、ソートされる範囲は空です。
例:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = {10,4,25,63,21,51,73,24,87,18}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call sort method to sort the given range in the array in ascending order Arrays.sort(intArray, 2, 7); //print altered array System.out.println('Sorted range(2,7) in the array:' + Arrays.toString(intArray)); } }
出力:
上記のプログラムは、ソート方法のバリエーションを示しています。ここでは、配列を並べ替える範囲を指定できます。この範囲外の要素はソートされません。上記のプログラムでは、指定された配列の範囲(2,7)が、sortメソッドでソートされるように指定されています。
したがって、出力では、この範囲の要素のみが昇順で並べ替えられていることがわかります。
#8)toString
プロトタイプ: 静的文字列toString(int () a)
パラメーター: a =>文字列表現が必要な配列
戻り値: string =>配列の文字列表現
説明: 指定された配列を文字列表現に変換します。
例:
import java.util.*; public class Main { public static void main(String() args) { //declare arrays of type int and double int() intArray = {10,20,30,40,50}; double() dblArray = {1.0,2.0,3.0,4.0,5.0}; System.out.println('String representation of int Array: '); //print string representation of int array using toString System.out.println(Arrays.toString(intArray)); System.out.println('
String representation of double Array: '); //print string representation of double array using toString System.out.println(Arrays.toString(dblArray)); } }
出力:
上記の例では、配列を文字列表現に変換するtoStringメソッドを使用しました。したがって、この方法を示すために、int型とdouble型の2つの配列を使用しました。次に、toStringメソッドを使用して、この配列のそれぞれが、出力に示されている対応する文字列表現に変換されます。
#9)hashCode
プロトタイプ: static int hashCode(int () a)
パラメーター: a =>ハッシュコードが計算される配列。
戻り値: int =>計算されたハッシュコード
説明: このメソッドは、指定された配列のハッシュコードを返します。ザ・ ハッシュコード の Java オブジェクトは実際には32ビットの数値(符号付き整数)です。ハッシュコードを使用すると、ハッシュベースの構造を使用してオブジェクトを管理できます。
ハッシュコードはJVMによってオブジェクトに割り当てられ、2つのオブジェクトが互いに等しくない限り、通常は一意です。等しい場合、両方のオブジェクトは同じハッシュコードを持ちます。
例:
import java.util.*; public class Main { public static void main(String() args) { //declare arrays of type int int() intArray = {10,20,30,40,50}; //print the input array System.out.println('The input Array: ' + Arrays.toString(intArray)); //get hashcode of the array using 'hashCode' method of array inthashCde = Arrays.hashCode(intArray); //print the hashCode System.out.println('The hashCode for input array:' + hashCde); } }
出力:
hashCodeメソッドは、引数として渡された特定の配列のハッシュコードを計算します。
よくある質問
Q#1)java.util配列とは何ですか?
回答: クラスjava.util.Arraysは、クラスjava.lang.Objectから拡張されています。 Arraysクラスには、配列をリストとして表すメソッドが含まれています。また、並べ替え、検索、配列を文字列として表すなど、配列を操作するためのさまざまなメソッドも含まれています。
Q#2)Javaの配列ソートで使用されるソートはどれですか?
回答: JavaのArraysクラスのsortメソッドは、2つのソート手法を使用します。プリミティブ型が使用される場合はクイックソートを使用しますが、同等のインターフェイスを実装するオブジェクトが使用される場合は、マージソートが使用されます。
Q#3)Arrays.sort()メソッドはJavaで何をしますか?
回答: JavaのArrays.sort()メソッドには、配列の並べ替えを実行できるさまざまなオーバーロードがあります。さまざまなプリミティブデータ型の配列を並べ替えるためのオーバーロードがあります。
さらに、Arrays.sort()メソッドには、指定された範囲で配列を並べ替えるためのさまざまなオーバーロードがあります。これとは別に、Arrays.sort()メソッドを使用すると、提供されているコンパレータに応じて並べ替えることもできます。
Q#4)コレクションと配列クラスとは何ですか?
回答: コレクションは本質的に動的であり、コレクションクラスはコレクションに作用する直接メソッドを提供します。配列は本質的に静的であり、配列を操作するためのメソッドを提供するクラスArrayを持っています。
ただし、これらは直接メソッドではありません。つまり、配列オブジェクトはこれらのメソッドを呼び出すことができません。代わりに、配列オブジェクトが引数としてこれらのメソッドに渡されます。
結論
Arraysクラスはjava.utilパッケージに属し、java.lang.Objectクラスから拡張されています。 Arraysクラスには、配列を操作するために使用されるメソッドが含まれています。これらのメソッドには、配列の並べ替え、配列内の特定の要素の検索、配列への特定の値の入力、配列を比較する方法などに使用されるメソッドが含まれます。
これらの各メソッドにはさまざまなオーバーロードがあり、プログラマーはさまざまなデータ型の配列や配列の一部または全体でこれらのメソッドを呼び出すことができます。
このチュートリアルでは、配列クラスのほとんどのメソッドについて説明しました。また、主要な方法の簡単な説明と例も見ました。これらの例は、さまざまなデータ型に複製できます。お任せください。
=> ゼロからJavaを学ぶには、ここにアクセスしてください。