The Масиви клас в пакет java.util є частиною Java Collection Framework . Цей клас надає статичні методи для динамічного створення та доступу Масиви Java . Він складається тільки зі статичних методів і методів класу Object. Методи цього класу можуть використовуватися самим ім'ям класу.
Ієрархія класів така:
java.lang.Object ? java.util.Arrays>
Виродок, тепер ви, мабуть, дивуєтесь, навіщо нам клас Java Arrays, коли ми можемо оголошувати, ініціалізувати та обчислювати операції над масивами. Однак відповідь на це питання лежить у методах цього класу, які ми збираємося обговорити далі, оскільки практично ці функції допомагають програмістам розширювати горизонти за допомогою масивів, наприклад, часто бувають випадки, коли петлі використовуються для виконання деяких завдань на масиві, наприклад:
- Заповнити масив певним значенням.
- Сортування масивів.
- Пошук в масиві.
- І багато іншого.
Тут клас Arrays надає кілька статичних методів, які можна використовувати для виконання цих завдань безпосередньо без використання циклів, отже, роблячи наш код надзвичайно коротким і оптимізованим.
Синтаксис: Оголошення класу
public class Arrays extends Object>
Синтаксис: Щоб використовувати масиви
Arrays.;>
Методи в Java Array Class
Клас Arrays пакета java.util містить кілька статичних методів, які можна використовувати для заповнення, сортування, пошуку тощо в масивах. Тепер давайте обговоримо методи цього класу, які показано нижче в табличному форматі:
| методи | Дія виконана |
|---|---|
| asList() | Повертає список фіксованого розміру, що підтримується вказаними масивами |
| binarySearch() | Шукає вказаний елемент у масиві за допомогою алгоритму бінарного пошуку |
| binarySearch(масив, fromIndex, toIndex, ключ, Comparator) | Шукає вказаний об’єкт у діапазоні вказаного масиву за допомогою алгоритму бінарного пошуку |
| порівняти (масив 1, масив 2) | Лексикографічно порівнює два масиви, передані як параметри. |
| copyOf(оригінальний масив, новадовжина) | Копіює вказаний масив, усікаючи або доповнюючи значенням за замовчуванням (за потреби), щоб копія мала вказану довжину. |
| copyOfRange(оригінальний масив, fromIndex, endIndex) | Копіює вказаний діапазон зазначеного масиву в новий масив. |
| deepEquals(Object[] a1, Object[] a2) | Повертає true, якщо два вказані масиви глибоко дорівнюють один одному. |
| deepHashCode(Object[] a) | Повертає хеш-код на основі глибинного вмісту вказаних масивів. |
| deepToString(Object[] a) | Повертає рядкове представлення глибинного вмісту вказаних масивів. |
| дорівнює (масив1, масив2) | Перевіряє, чи обидва масиви рівні чи ні. |
| fill(originalArray, fillValue) | Призначає це значення заповнення кожному індексу цього масиву. |
| hashCode(оригінальний масив) | Повертає цілочисельний хеш-код цього екземпляра масиву. |
| невідповідність (масив1, масив2) | Знаходить і повертає індекс першого невідповідного елемента між двома вказаними масивами. |
| parallelPrefix(оригінальний масив, fromIndex, endIndex,functionOperator) | Виконує parallelPrefix для заданого діапазону масиву за допомогою вказаного функціонального оператора. |
| parallelPrefix(оригінальний масив, оператор) | Виконує parallelPrefix для повного масиву за допомогою вказаного функціонального оператора. |
| parallelSetAll(оригінальний масив, функціональний генератор) | Встановлює всі елементи цього масиву паралельно за допомогою наданої функції генератора. |
| parallelSort(originalArray) | Сортує вказаний масив за допомогою паралельного сортування. |
| setAll(оригінальний масив, функціональний генератор) | Встановлює всі елементи вказаного масиву за допомогою наданої функції генератора. |
| sort(originalArray) | Сортує повний масив у порядку зростання. |
| sort(originalArray, fromIndex, endIndex) | Сортує вказаний діапазон масиву в порядку зростання. |
| sort(T[] a, int fromIndex, int toIndex, Comparator c) | Сортує вказаний діапазон зазначеного масиву об’єктів відповідно до порядку, індукованого вказаним компаратором. |
| sort(T[] a, Comparator c) | Сортує вказаний масив об’єктів відповідно до порядку, індукованого вказаним компаратором. |
| spliterator(оригінальний масив) | Повертає Spliterator, що охоплює всі вказані масиви. |
| spliterator(оригінальний масив, fromIndex, endIndex) | Повертає Spliterator типу масиву, що охоплює вказаний діапазон вказаних масивів. |
| потік (оригінальний масив) | Повертає послідовний потік із вказаним масивом як джерело. |
| toString(оригінальний масив) | Він повертає рядкове представлення вмісту цього масиву. Рядкове представлення складається зі списку елементів масиву, укладених у квадратні дужки ([]). Сусідні елементи відокремлюються комою та пробілом. Елементи перетворюються на рядки за допомогою функції String.valueOf(). |
Реалізація:
Приклад 1: asList() метод
Java
// 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: binarySearch() метод
Ці методи здійснюють пошук зазначеного елемента в масиві за допомогою алгоритму бінарного пошуку.
Java
// 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
// 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(array 1, array 2).
Java
// 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
bash для циклу
// 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
// 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
// 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
// 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
// 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
// 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
// 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));> >}> }> |
інакше, якщо java
>
>Вихід
Integer Arrays on comparison: false>
Приклад 12: fill(originalArray, fillValue) метод
Java
// 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
// 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: невідповідність (масив1, масив2) Метод
Java
// 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));> >}> }> |
>
рядок java в масив
>Вихід
The element mismatched at index: 1>
Приклад 15: Метод parallelSort(originalArray).
Java
// 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: sort(originalArray) метод
Java
// 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));> >}> }> |
>
>Вихід
Integer Array: [10, 15, 20, 22, 35]>
Приклад 17: sort(originalArray, fromIndex, endIndex) метод
Java
// 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
// 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, Comparator c) метод
Java
// 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: Метод spliterator(originalArray).
Java
// 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: spliterator(originalArray, fromIndex, endIndex) Метод
"формула масона"
Java
// 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>));> >}> }> |
>
>Вихід
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Приклад 22: Метод stream(originalArray).
Java
// 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
// 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]>