The Polia trieda v balík java.util je súčasťou Java Collection Framework . Táto trieda poskytuje statické metódy na dynamické vytváranie a prístup Java polia . Pozostáva len zo statických metód a metód triedy Object. Metódy tejto triedy môžu byť použité samotným názvom triedy.
Hierarchia tried je nasledovná:
java.lang.Object ? java.util.Arrays>
Geek, teraz sa musíte čudovať, prečo potrebujeme triedu java Arrays, keď sme schopní deklarovať, inicializovať a počítať operácie nad poliami. Odpoveď na túto otázku však leží v metódach tejto triedy, o ktorých budeme diskutovať ďalej, pretože prakticky tieto funkcie pomáhajú programátorom rozširovať obzory pomocou polí, napríklad často sú prípady, keď slučky sa používajú na vykonávanie niektorých úloh v poli, ako napríklad:
- Vyplňte pole konkrétnou hodnotou.
- Zoradiť polia.
- Hľadajte v poliach.
- A mnoho ďalších.
Trieda Arrays poskytuje niekoľko statických metód, ktoré možno použiť na vykonávanie týchto úloh priamo bez použitia slučiek, vďaka čomu je náš kód super krátky a optimalizovaný.
Syntax: Deklarácia triedy
public class Arrays extends Object>
Syntax: Ak chcete použiť polia
Arrays.;>
Metódy v triede Java Array
Trieda Arrays balíka java.util obsahuje niekoľko statických metód, ktoré možno použiť na vyplnenie, triedenie, vyhľadávanie atď. v poliach. Teraz poďme diskutovať o metódach tejto triedy, ktoré sú uvedené nižšie v tabuľkovom formáte takto:
| Metódy | Akcia vykonaná |
|---|---|
| asList() | Vráti zoznam s pevnou veľkosťou podporovaný zadanými poliami |
| binárne vyhľadávanie () | Hľadá zadaný prvok v poli pomocou Binárneho vyhľadávacieho algoritmu |
| binárne vyhľadávanie (pole, z indexu, do indexu, kľúč, porovnávač) | Vyhľadáva zadaný objekt v rozsahu zadaného poľa pomocou binárneho vyhľadávacieho algoritmu |
| porovnať (pole 1, pole 2) | Porovná dve polia odovzdané ako parametre lexikograficky. |
| copyOf(originalArray, newLength) | Skopíruje zadané pole, orezanie alebo výplň s predvolenou hodnotou (ak je to potrebné), aby mala kópia zadanú dĺžku. |
| copyOfRange(originalArray, fromIndex, endIndex) | Skopíruje zadaný rozsah zadaného poľa do nových polí. |
| deepEquals(Object[] a1, Object[] a2) | Vráti hodnotu true, ak sú dve špecifikované polia navzájom hlboko rovnaké. |
| deepHashCode(Object[] a) | Vráti hašovací kód založený na hlbokom obsahu zadaných polí. |
| deepToString(Object[] a) | Vráti reťazcovú reprezentáciu hlbokého obsahu zadaných polí. |
| rovná sa(pole1, pole2) | Skontroluje, či sú obe polia rovnaké alebo nie. |
| fill(originalArray, fillValue) | Priradí túto hodnotu výplne každému indexu tohto poľa. |
| hashCode(originalArray) | Vráti celočíselný hashCode tejto inštancie poľa. |
| nezhoda(pole1, pole2) | Nájde a vráti index prvého nezhodného prvku medzi dvoma zadanými poliami. |
| parallelPrefix(originalArray, fromIndex, endIndex, functionOperator) | Vykoná parallelPrefix pre daný rozsah poľa so zadaným funkčným operátorom. |
| parallelPrefix(originalArray, operátor) | Vykoná parallelPrefix pre celé pole so zadaným funkčným operátorom. |
| parallelSetAll(originalArray, functionGenerator) | Nastaví všetky prvky tohto poľa paralelne pomocou poskytnutej funkcie generátora. |
| parallelSort(originalArray) | Zoradí zadané pole pomocou paralelného triedenia. |
| setAll(originalArray, FunctionalGenerator) | Nastaví všetky prvky zadaného poľa pomocou poskytnutej funkcie generátora. |
| zoradiť (originalArray) | Zoradí celé pole vo vzostupnom poradí. |
| sort(originalArray, fromIndex, endIndex) | Zoradí zadaný rozsah poľa vzostupne. |
| zoradiť (T[] a, int z indexu, int do indexu, komparátor c) | Zoradí zadaný rozsah zadaného poľa objektov podľa poradia vyvolaného zadaným komparátorom. |
| zoradiť(T[] a, Porovnávač c) | Zoradí zadané pole objektov podľa poradia vyvolaného zadaným komparátorom. |
| rozdeľovač (originalArray) | Vráti rozdeľovač pokrývajúci všetky zadané polia. |
| rozdeľovač (originalArray, fromIndex, endIndex) | Vráti Spliterator typu poľa pokrývajúceho zadaný rozsah zadaných polí. |
| stream (originalArray) | Vráti sekvenčný prúd so zadaným poľom ako zdrojom. |
| toString(originalArray) | Vráti reťazcovú reprezentáciu obsahu tohto poľa. Reťazcová reprezentácia pozostáva zo zoznamu prvkov poľa uzavretých v hranatých zátvorkách ([]). Susedné prvky sú oddelené znakmi čiarkou, za ktorou nasleduje medzera. Prvky sa konvertujú na reťazce ako pomocou funkcie String.valueOf(). |
Implementácia:
Príklad 1: asList() Metóda
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));> >}> }> |
plátok java
>
>Výkon
Integer Array as List: [[I@2f4d3709]>
Príklad 2: binárne vyhľadávanie () Metóda
Tieto metódy hľadajú zadaný prvok v poli pomocou binárneho vyhľadávacieho algoritmu.
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));> >}> }> |
>
>Výkon
22 found at index = 3>
Príklad 3: binarySearch(pole, fromIndex, toIndex, key, Comparator) Metóda
Táto metóda hľadá zadaný objekt v rozsahu zadaného poľa pomocou binárneho vyhľadávacieho algoritmu.
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));> >}> }> |
>
>Výkon
22 found at index = -4>
Príklad 4: Porovnať (pole 1, pole 2) Metóda
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));> >}> }> |
>
>Výkon
Integer Arrays on comparison: 1>
Príklad 5: PorovnaťUnsigned(pole 1, pole 2) Metóda
Java
// 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ýkon
Integer Arrays on comparison: 1>
Príklad 6: metóda 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>)));> >}> }> |
>
>Výkon
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOf: Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]>
Príklad 7: metóda 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>)));> >}> }> |
>
>Výkon
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOfRange: Integer Array: [20, 15]>
Príklad 8: deepEquals(Object[] a1, Object[] a2) Metóda
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));> >}> }> |
>
>Výkon
Integer Arrays on comparison: false>
Príklad 9: deepHashCode(Object[] a) Metóda
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));> >}> }> |
>
>Výkon
Integer Array: 38475344>
Príklad 10: deepToString(Object[] a) Metóda
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));> >}> }> |
>
>Výkon
Integer Array: [[10, 20, 15, 22, 35]]>
Príklad 11: rovná sa (pole1, pole2) Metóda
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));> >}> }> |
>
>Výkon
Integer Arrays on comparison: false>
Príklad 12: fill(originalArray, fillValue) Metóda
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));> >}> }> |
>
>Výkon
Integer Array on filling: [22, 22, 22, 22, 22]>
Príklad 13: metóda 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));> >}> }> |
>
>Výkon
Integer Array: 38475313>
Príklad 14: mismatch(pole1, pole2) Metóda
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 for loop
>
>Výkon
The element mismatched at index: 1>
Príklad 15: Metóda 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));> >}> }> |
>
>Výkon
Integer Array: [10, 15, 20, 22, 35]>
Príklad 16: zoradiť (originalArray) Metóda
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));> >}> }> |
>
>Výkon
Integer Array: [10, 15, 20, 22, 35]>
Príklad 17: sort(originalArray, fromIndex, endIndex) Metóda
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));> >}> }> |
>
>Výkon
Integer Array: [10, 15, 20, 22, 35]>
Príklad 18: zoradiť (T[] a, int z indexu, int do indexu, komparátor c) Metóda
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]); } }> |
>
>Výkon
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 131 aaaa nyc 121 cccc jaipur>
Príklad 19: zoradiť(T[] a, Porovnávač c) Metóda
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]); } }> |
>
>Výkon
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc>
Príklad 20: metóda 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));> >}> }> |
>
>Výkon
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Príklad 21: spliterator(originalArray, fromIndex, endIndex) Metóda
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>));> >}> }> |
>
>Výkon
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Príklad 22: metóda 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));> >}> }> |
>
>Výkon
Integer Array: java.util.stream.IntPipeline$Head@7291c18f>
Príklad 23: toString(originalArray) Metóda
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));> >}> }> |
>
>Výkon
Integer Array: [10, 20, 15, 22, 35]>