の 配列 クラスイン java.util パッケージ の一部です Java コレクション フレームワーク 。このクラスは、動的に作成およびアクセスするための静的メソッドを提供します。 Java配列 。静的メソッドとオブジェクトクラスのメソッドのみで構成されます。このクラスのメソッドはクラス名そのもので使用できます。
クラス階層は次のとおりです。
java.lang.Object ? java.util.Arrays>
オタクの皆さん、配列に対する操作の宣言、初期化、計算ができるのに、なぜ Java Arrays クラスが必要なのか疑問に思っているはずです。ただし、これに対する答えは、このクラスのメソッドの中にあります。このクラスのメソッドについては、実際にプログラマが配列を使って視野を広げるのに役立つため、実際にこれらの関数についてさらに説明します。たとえば、次のような場合がよくあります。 ループ 次のような配列に対していくつかのタスクを実行するために使用されます。
Javaのコレクション
- 配列に特定の値を入力します。
- 配列を並べ替えます。
- 配列内で検索します。
- などなど。
ここで、Arrays クラスは、ループを使用せずにこれらのタスクを直接実行するために使用できるいくつかの静的メソッドを提供するため、コードが非常に短く最適化されます。
構文: クラス宣言
public class Arrays extends Object>
構文: 配列を使用するには
Arrays.;>
Java 配列クラスのメソッド
java.util パッケージの Arrays クラスには、配列の入力、並べ替え、検索などに使用できるいくつかの静的メソッドが含まれています。ここで、このクラスのメソッドについて説明します。以下に表形式で示します。
| メソッド | 実行されたアクション |
|---|---|
| asList() | 指定された配列を基にした固定サイズのリストを返します。 |
| バイナリサーチ() | 二分探索アルゴリズムを使用して、配列内の指定された要素を検索します。 |
| binarySearch(配列、fromIndex、toIndex、キー、コンパレータ) | 二分探索アルゴリズムを使用して、指定された配列の範囲内で指定されたオブジェクトを検索します。 |
| 比較(配列1、配列2) | パラメータとして渡された 2 つの配列を辞書順に比較します。 |
| copyOf(originalArray, newLength) | 指定された配列をコピーし、(必要に応じて) 切り詰めるか、デフォルト値でパディングして、コピーが指定された長さになるようにします。 |
| copyOfRange(originalArray, fromIndex, endIndex) | 指定された配列の指定された範囲を新しい配列にコピーします。 |
| deepEquals(オブジェクト[] a1, オブジェクト[] a2) | 指定された 2 つの配列が互いに完全に等しい場合は true を返します。 |
| deepHashCode(オブジェクト[] a) | 指定された配列の詳細な内容に基づいてハッシュ コードを返します。 |
| deepToString(オブジェクト[] a) | 指定された配列の詳細な内容の文字列表現を返します。 |
| 等しい(配列1, 配列2) | 両方の配列が等しいかどうかを確認します。 |
| fill(originalArray, fillValue) | この塗りつぶし値をこの配列の各インデックスに割り当てます。 |
| ハッシュコード(元の配列) | この配列インスタンスの整数の hashCode を返します。 |
| 不一致(配列1、配列2) | 指定された 2 つの配列間で最初に一致しない要素のインデックスを検索して返します。 |
| ParallelPrefix(originalArray、fromIndex、endIndex、functionalOperator) | 指定された関数演算子を使用して、配列の指定された範囲に対してParallelPrefixを実行します。 |
| ParallelPrefix(originalArray, 演算子) | 指定された関数演算子を使用して完全な配列に対してParallelPrefixを実行します。 |
| ParallelSetAll(originalArray, FunctionalGenerator) | 提供されたジェネレーター関数を使用して、この配列のすべての要素を並列に設定します。 |
| 並列ソート(元の配列) | 並列ソートを使用して、指定された配列をソートします。 |
| setAll(originalArray, FunctionalGenerator) | 提供されたジェネレーター関数を使用して、指定された配列のすべての要素を設定します。 |
| ソート(元の配列) | 配列全体を昇順に並べ替えます。 |
| sort(originalArray, fromIndex, endIndex) | 配列の指定された範囲を昇順に並べ替えます。 |
| sort(T[] a, int fromIndex, int toIndex, Comparator c) | 指定されたオブジェクトの配列の指定された範囲を、指定されたコンパレータによって引き起こされる順序に従って並べ替えます。 |
| sort(T[] a, コンパレータ c) | 指定されたオブジェクトの配列を、指定されたコンパレータによって引き起こされる順序に従って並べ替えます。 |
| スプリッテレータ(元の配列) | 指定されたすべての配列をカバーする Spliterator を返します。 |
| スプリッテレータ(originalArray, fromIndex, endIndex) | 指定された配列の指定された範囲をカバーする配列の型の Spliterator を返します。 |
| ストリーム(元の配列) | 指定された配列をソースとして持つシーケンシャル ストリームを返します。 |
| toString(元の配列) | この配列の内容の文字列表現を返します。文字列表現は、角括弧 ([]) で囲まれた配列要素のリストで構成されます。隣接する要素は、カンマとそれに続くスペースの文字で区切られます。要素は String.valueOf() 関数によって文字列に変換されます。 |
実装:
例 1: asList() 方法
ジャワ
// Java Program to Demonstrate Arrays Class> // Via asList() method> > // Importing Arrays utility class> // from java.util package> import> java.util.Arrays;> > // Main class> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >{> >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To convert the elements as List> >System.out.println(>'Integer Array as List: '> >+ Arrays.asList(intArr));> >}> }> |
>
>出力
Integer Array as List: [[I@2f4d3709]>
例 2: バイナリサーチ() 方法
このメソッドは、二分探索アルゴリズムを使用して、配列内の指定された要素を検索します。
ジャワ
// Java Program to Demonstrate Arrays Class> // Via binarySearch() method> > // Importing Arrays utility class> // from java.util package> import> java.util.Arrays;> > // Main class> public> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >Arrays.sort(intArr);> > >int> intKey =>22>;> > >// Print the key and corresponding index> >System.out.println(> >intKey +>' found at index = '> >+ Arrays.binarySearch(intArr, intKey));> >}> }> |
>
>出力
22 found at index = 3>
例 3: binarySearch(array, fromIndex, toIndex, key, Comparator) メソッド
このメソッドは、二分探索アルゴリズムを使用して、指定された配列の範囲内で指定されたオブジェクトを検索します。
ジャワ
// Java program to demonstrate> // Arrays.binarySearch() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >Arrays.sort(intArr);> > >int> intKey =>22>;> > >System.out.println(> >intKey> >+>' found at index = '> >+ Arrays> >.binarySearch(intArr,>1>,>3>, intKey));> >}> }> |
>
>出力
22 found at index = -4>
例 4: Compare(配列 1, 配列 2) メソッド
ジャワ
// Java program to demonstrate> // Arrays.compare() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// Get the second Array> >int> intArr1[] = {>10>,>15>,>22> };> > >// To compare both arrays> >System.out.println(>'Integer Arrays on comparison: '> >+ Arrays.compare(intArr, intArr1));> >}> }> |
>
>出力
Integer Arrays on comparison: 1>
例 5: CompareUnsigned(配列 1, 配列 2) メソッド
ジャワ
// Java program to demonstrate> // Arrays.compareUnsigned() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Arrays> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// Get the second Arrays> >int> intArr1[] = {>10>,>15>,>22> };> > >// To compare both arrays> >System.out.println(>'Integer Arrays on comparison: '> >+ Arrays.compareUnsigned(intArr, intArr1));> >}> }> |
>
>出力
Integer Arrays on comparison: 1>
例6: copyOf(originalArray, newLength) メソッド
ジャワ
// Java program to demonstrate> // Arrays.copyOf() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To print the elements in one line> >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> > >System.out.println(>'
New Arrays by copyOf:
'>);> > >System.out.println(>'Integer Array: '> >+ Arrays.toString(> >Arrays.copyOf(intArr,>10>)));> >}> }> |
>
>出力
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOf: Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]>
例 7: copyOfRange(originalArray, fromIndex, endIndex) メソッド
ジャワ
// Java program to demonstrate> // Arrays.copyOfRange() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To print the elements in one line> >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> > >System.out.println(>'
New Arrays by copyOfRange:
'>);> > >// To copy the array into an array of new length> >System.out.println(>'Integer Array: '> >+ Arrays.toString(> >Arrays.copyOfRange(intArr,>1>,>3>)));> >}> }> |
>
>出力
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOfRange: Integer Array: [20, 15]>
例 8: deepEquals(Object[] a1, Object[] a2) メソッド
ジャワ
// Java program to demonstrate> // Arrays.deepEquals() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Arrays> >int> intArr[][] = { {>10>,>20>,>15>,>22>,>35> } };> > >// Get the second Arrays> >int> intArr1[][] = { {>10>,>15>,>22> } };> > >// To compare both arrays> >System.out.println(>'Integer Arrays on comparison: '> >+ Arrays.deepEquals(intArr, intArr1));> >}> }> |
>
>出力
Integer Arrays on comparison: false>
例9: deepHashCode(Object[] a) メソッド
データベースの正規化
ジャワ
// Java program to demonstrate> // Arrays.deepHashCode() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[][] = { {>10>,>20>,>15>,>22>,>35> } };> > >// To get the dep hashCode of the arrays> >System.out.println(>'Integer Array: '> >+ Arrays.deepHashCode(intArr));> >}> }> |
>
>出力
Integer Array: 38475344>
例 10: deepToString(Object[] a) メソッド
ジャワ
// Java program to demonstrate> // Arrays.deepToString() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[][] = { {>10>,>20>,>15>,>22>,>35> } };> > >// To get the deep String of the arrays> >System.out.println(>'Integer Array: '> >+ Arrays.deepToString(intArr));> >}> }> |
>
>出力
Integer Array: [[10, 20, 15, 22, 35]]>
例 11: 等しい(配列1, 配列2) メソッド
ジャワ
// Java program to demonstrate> // Arrays.equals() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Arrays> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// Get the second Arrays> >int> intArr1[] = {>10>,>15>,>22> };> > >// To compare both arrays> >System.out.println(>'Integer Arrays on comparison: '> >+ Arrays.equals(intArr, intArr1));> >}> }> |
>
>出力
Integer Arrays on comparison: false>
例 12: fill(originalArray, fillValue) 方法
ジャワ
// Java program to demonstrate> // Arrays.fill() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Arrays> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >int> intKey =>22>;> > >Arrays.fill(intArr, intKey);> > >// To fill the arrays> >System.out.println(>'Integer Array on filling: '> >+ Arrays.toString(intArr));> >}> }> |
>
>出力
Integer Array on filling: [22, 22, 22, 22, 22]>
例 13: hashCode(originalArray) メソッド
ジャワ
// Java program to demonstrate> // Arrays.hashCode() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To get the hashCode of the arrays> >System.out.println(>'Integer Array: '> >+ Arrays.hashCode(intArr));> >}> }> |
>
>出力
Integer Array: 38475313>
例 14: missmatch(array1, array2) メソッド
ジャワ
// Java program to demonstrate> // Arrays.mismatch() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Arrays> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// Get the second Arrays> >int> intArr1[] = {>10>,>15>,>22> };> > >// To compare both arrays> >System.out.println(>'The element mismatched at index: '> >+ Arrays.mismatch(intArr, intArr1));> >}> }> |
>
>出力
The element mismatched at index: 1>
例 15: ParallelSort(originalArray) メソッド
ジャワ
// Java program to demonstrate> // Arrays.parallelSort() method> > // Importing Arrays class from> // java.util package> import> java.util.Arrays;> > // Main class> public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To sort the array using parallelSort> >Arrays.parallelSort(intArr);> > >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> >}> }> |
>
>出力
Integer Array: [10, 15, 20, 22, 35]>
例 16: ソート(元の配列) 方法
ジャワ
// Java program to demonstrate> // Arrays.sort() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To sort the array using normal sort-> >Arrays.sort(intArr);> > >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> >}> }> |
Javaにはないランダム
>
>出力
Integer Array: [10, 15, 20, 22, 35]>
例 17: sort(originalArray, fromIndex, endIndex) 方法
ジャワ
// Java program to demonstrate> // Arrays.sort() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To sort the array using normal sort> >Arrays.sort(intArr,>1>,>3>);> > >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> >}> }> |
>
>出力
Integer Array: [10, 15, 20, 22, 35]>
例 18: sort(T[] a, int fromIndex, int toIndex, Comparator c) 方法
ジャワ
// Java program to demonstrate working of Comparator> // interface> import> java.util.*;> import> java.lang.*;> import> java.io.*;> > // A class to represent a student.> class> Student {> >int> rollno;> >String name, address;> > >// Constructor> >public> Student(>int> rollno, String name,> >String address)> >{> >this>.rollno = rollno;> >this>.name = name;> >this>.address = address;> >}> > >// Used to print student details in main()> >public> String toString()> >{> >return> this>.rollno +>' '> >+>this>.name +>' '> >+>this>.address;> >}> }> > class> Sortbyroll>implements> Comparator {> >// Used for sorting in ascending order of> >// roll number> >public> int> compare(Student a, Student b)> >{> >return> a.rollno - b.rollno;> >}> }> > // Driver class> class> Main {> >public> static> void> main(String[] args)> >{> >Student[] arr = {>new> Student(>111>,>'bbbb'>,>'london'>),> >new> Student(>131>,>'aaaa'>,>'nyc'>),> >new> Student(>121>,>'cccc'>,>'jaipur'>) };> > >System.out.println(>'Unsorted'>);> >for> (>int> i =>0>; i System.out.println(arr[i]); Arrays.sort(arr, 1, 2, new Sortbyroll()); System.out.println('
Sorted by rollno'); for (int i = 0; i System.out.println(arr[i]); } }> |
>
>出力
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 131 aaaa nyc 121 cccc jaipur>
例 19: sort(T[] a, コンパレータ c) 方法
ジャワ
// Java program to demonstrate working of Comparator> // interface> import> java.util.*;> import> java.lang.*;> import> java.io.*;> > // A class to represent a student.> class> Student {> >int> rollno;> >String name, address;> > >// Constructor> >public> Student(>int> rollno, String name,> >String address)> >{> >this>.rollno = rollno;> >this>.name = name;> >this>.address = address;> >}> > >// Used to print student details in main()> >public> String toString()> >{> >return> this>.rollno +>' '> >+>this>.name +>' '> >+>this>.address;> >}> }> > class> Sortbyroll>implements> Comparator {> > >// Used for sorting in ascending order of> >// roll number> >public> int> compare(Student a, Student b)> >{> >return> a.rollno - b.rollno;> >}> }> > // Driver class> class> Main {> >public> static> void> main(String[] args)> >{> >Student[] arr = {>new> Student(>111>,>'bbbb'>,>'london'>),> >new> Student(>131>,>'aaaa'>,>'nyc'>),> >new> Student(>121>,>'cccc'>,>'jaipur'>) };> > >System.out.println(>'Unsorted'>);> >for> (>int> i =>0>; i System.out.println(arr[i]); Arrays.sort(arr, new Sortbyroll()); System.out.println('
Sorted by rollno'); for (int i = 0; i System.out.println(arr[i]); } }> |
>
>出力
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc>
例 20: スプリッテレータ(originalArray) メソッド
ジャワ
// Java program to demonstrate> // Arrays.spliterator() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To sort the array using normal sort> >System.out.println(>'Integer Array: '> >+ Arrays.spliterator(intArr));> >}> }> |
>
>出力
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
例 21: スプリッテレータ(originalArray, fromIndex, endIndex) メソッド
ジャワ
// Java program to demonstrate> // Arrays.spliterator() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To sort the array using normal sort> >System.out.println(>'Integer Array: '> >+ Arrays.spliterator(intArr,>1>,>3>));> >}> }> |
>
>
改行Python出力
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
例 22: stream(originalArray) メソッド
ジャワ
// Java program to demonstrate> // Arrays.stream() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To get the Stream from the array> >System.out.println(>'Integer Array: '> >+ Arrays.stream(intArr));> >}> }> |
>
>出力
Integer Array: java.util.stream.IntPipeline$Head@7291c18f>
例 23: toString(元の配列) 方法
ジャワ
// Java program to demonstrate> // Arrays.toString() method> > import> java.util.Arrays;> > public> class> Main {> >public> static> void> main(String[] args)> >{> > >// Get the Array> >int> intArr[] = {>10>,>20>,>15>,>22>,>35> };> > >// To print the elements in one line> >System.out.println(>'Integer Array: '> >+ Arrays.toString(intArr));> >}> }> |
>
>出力
Integer Array: [10, 20, 15, 22, 35]>