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
prázdný seznam java
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]>