Třída Arrays v Javě
The Pole třída v balíček java.util je součástí Java Collection Framework . Tato třída poskytuje statické metody pro dynamické vytváření a přístup Java pole . Skládá se pouze ze statických metod a metod třídy Object. Metody této třídy lze použít podle samotného názvu třídy.
Hierarchie tříd je následující:
java.lang.Object ? java.util.Arrays
Geeku, teď se musíte divit, proč potřebujeme třídu java Arrays, když jsme schopni deklarovat, inicializovat a počítat operace nad poli. Odpověď na to však leží v metodách této třídy, o kterých budeme dále diskutovat, protože prakticky tyto funkce pomáhají programátorům rozšiřovat obzory pomocí polí, například často nastanou situace, kdy smyčky se používají k provádění některých úkolů na poli, jako je:
- Vyplňte pole konkrétní hodnotou.
- Seřadit pole.
- Hledejte v polích.
- A mnoho dalších.
Zde třída Arrays poskytuje několik statických metod, které lze použít k provádění těchto úkolů přímo bez použití smyček, a proto je náš kód super krátký a optimalizovaný.
Syntax: Deklarace třídy
public class Arrays extends Object
Syntax: Chcete-li použít pole
Arrays.;
Metody v Java Array Class
Třída Arrays balíčku java.util obsahuje několik statických metod, které lze použít k vyplňování, řazení, vyhledávání atd. v polích. Nyní pojďme diskutovat o metodách této třídy, které jsou uvedeny níže v tabulkovém formátu takto:
| Metody | Akce provedena |
|---|---|
| asList() | Vrátí seznam pevné velikosti podporovaný zadanými poli |
| binární vyhledávání () | Vyhledá zadaný prvek v poli pomocí binárního vyhledávacího algoritmu |
| binární vyhledávání (pole, z indexu, do indexu, klíč, komparátor) | Vyhledá zadaný objekt v rozsahu zadaného pole pomocí binárního vyhledávacího algoritmu |
| porovnat (pole 1, pole 2) | Porovná dvě pole předaná jako parametry lexikograficky. |
| copyOf(originalArray, newLength) | Zkopíruje zadané pole, oříznutí nebo odsazení s výchozí hodnotou (v případě potřeby), takže kopie má zadanou délku. |
| copyOfRange(originalArray, fromIndex, endIndex) | Zkopíruje zadaný rozsah zadaného pole do nového pole. |
| deepEquals(Object[] a1, Object[] a2) | Vrátí hodnotu true, pokud jsou dvě zadaná pole navzájem hluboce rovna. |
| deepHashCode(Object[] a) | Vrátí hash kód založený na hlubokém obsahu zadaných polí. |
| deepToString(Object[] a) | Vrátí řetězcovou reprezentaci hlubokého obsahu zadaných polí. |
| rovná se(pole1, pole2) | Zkontroluje, zda jsou obě pole stejná nebo ne. |
| fill(originalArray, fillValue) | Přiřadí tuto hodnotu výplně každému indexu tohoto pole. |
| hashCode(originalArray) | Vrátí celočíselný hashCode této instance pole. |
| neshoda(pole1, pole2) | Vyhledá a vrátí index prvního neshodného prvku mezi dvěma zadanými poli. |
| parallelPrefix(originalArray, fromIndex, endIndex, functionOperator) | Provede parallelPrefix pro daný rozsah pole se zadaným funkčním operátorem. |
| parallelPrefix(originalArray, operátor) | Provede parallelPrefix pro kompletní pole se zadaným funkčním operátorem. |
| parallelSetAll(originalArray, functionGenerator) | Nastaví všechny prvky tohoto pole paralelně pomocí poskytnuté funkce generátoru. |
| parallelSort(originalArray) | Seřadí zadané pole pomocí paralelního řazení. |
| setAll(originalArray, FunctionalGenerator) | Nastaví všechny prvky zadaného pole pomocí poskytnuté funkce generátoru. |
| řazení (originalArray) | Seřadí celé pole ve vzestupném pořadí. |
| sort(originalArray, fromIndex, endIndex) | Seřadí zadaný rozsah pole ve vzestupném pořadí. |
| sort(T[] a, int fromIndex, int toIndex, Comparator c) | Seřadí zadaný rozsah zadaného pole objektů podle pořadí vyvolaného zadaným komparátorem. |
| řazení(T[] a, komparátor c) | Seřadí zadané pole objektů podle pořadí vyvolaného zadaným komparátorem. |
| rozdělovač (originalArray) | Vrátí Spliterator pokrývající všechna zadaná pole. |
| rozdělovač (originalArray, fromIndex, endIndex) | Vrátí Spliterator typu pole pokrývajícího zadaný rozsah zadaných polí. |
| stream (originalArray) | Vrátí sekvenční datový proud se zadaným polem jako jeho zdrojem. |
| toString(originalArray) | Vrací řetězcovou reprezentaci obsahu tohoto pole. Řetězcová reprezentace se skládá ze seznamu prvků pole, uzavřených v hranatých závorkách ([]). Sousední prvky jsou odděleny znaky čárkou a mezerou. Prvky jsou převedeny na řetězce jako pomocí funkce String.valueOf(). |
Implementace:
Příklad 1: asList() Metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Array as List: [[I@2f4d3709]
Příklad 2: binární vyhledávání () Metoda
Tyto metody vyhledávají zadaný prvek v poli pomocí binárního vyhledávacího algoritmu.
Jáva
// 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));> > }> }> |
Výstup
22 found at index = 3
Příklad 3: binarySearch(pole, fromIndex, toIndex, key, Comparator) Method
Tato metoda hledá zadaný objekt v rozsahu zadaného pole pomocí binárního vyhledávacího algoritmu.
Jáva
// 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));> > }> }> |
Výstup
22 found at index = -4
Příklad 4: Porovnat(pole 1, pole 2) Metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Arrays on comparison: 1
Příklad 5: PorovnatUnsigned(pole 1, pole 2) Metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Arrays on comparison: 1
Příklad 6: metoda copyOf(originalArray, newLength).
Jáva
// 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> )));> > }> }> |
Výstup
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOf: Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]
Příklad 7: metoda copyOfRange(originalArray, fromIndex, endIndex).
Jáva
// 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> )));> > }> }> |
Výstup
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOfRange: Integer Array: [20, 15]
Příklad 8: deepEquals(Object[] a1, Object[] a2) metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Arrays on comparison: false
Příklad 9: deepHashCode(Object[] a) Metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Array: 38475344
Příklad 10: deepToString(Object[] a) Metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Array: [[10, 20, 15, 22, 35]]
Příklad 11: Rovná se(pole1, pole2) Metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Arrays on comparison: false
Příklad 12: fill(originalArray, fillValue) Metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Array on filling: [22, 22, 22, 22, 22]
Příklad 13: Metoda hashCode(originalArray).
Jáva
// 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));> > }> }> |
Výstup
Integer Array: 38475313
Příklad 14: mismatch(pole1, pole2) Metoda
Jáva
// 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));> > }> }> |
Výstup
The element mismatched at index: 1
Příklad 15: Metoda parallelSort(originalArray).
Jáva
// 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));> > }> }> |
Výstup
Integer Array: [10, 15, 20, 22, 35]
Příklad 16: řazení (originalArray) Metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Array: [10, 15, 20, 22, 35]
Příklad 17: sort(originalArray, fromIndex, endIndex) Metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Array: [10, 15, 20, 22, 35]
Příklad 18: sort(T[] a, int fromIndex, int toIndex, Comparator c) Metoda
Jáva
// 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]); } }> |
Výstup
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 131 aaaa nyc 121 cccc jaipur
Příklad 19: řazení(T[] a, komparátor c) Metoda
Jáva
// 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]); } }> |
Výstup
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc
Příklad 20: metoda spliterator(originalArray).
Jáva
// 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));> > }> }> |
Výstup
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e
Příklad 21: metoda spliterator(originalArray, fromIndex, endIndex).
Jáva
// 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> ));> > }> }> |
Výstup
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e
Příklad 22: metoda stream(originalArray).
Jáva
// 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));> > }> }> |
Výstup
Integer Array: java.util.stream.IntPipeline$Head@7291c18f
Příklad 23: toString(originalArray) Metoda
Jáva
// 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));> > }> }> |
Výstup
Integer Array: [10, 20, 15, 22, 35]