El Arrays classe a paquet java.util forma part del Java Collection Framework . Aquesta classe proporciona mètodes estàtics per crear i accedir de manera dinàmica Matrius Java . Consisteix només en mètodes estàtics i en els mètodes de la classe Object. Els mètodes d'aquesta classe es poden utilitzar pel propi nom de classe.
La jerarquia de classes és la següent:
java.lang.Object ? java.util.Arrays>
Geek, ara us heu de preguntar per què necessitem la classe Java Arrays quan som capaços de declarar, inicialitzar i calcular operacions sobre matrius. Tanmateix, la resposta a això es troba dins dels mètodes d'aquesta classe que anem a discutir més endavant, ja que pràcticament aquestes funcions ajuden els programadors a ampliar horitzons amb matrius, per exemple, sovint hi ha moments en què bucles s'utilitzen per fer algunes tasques en una matriu com:
intercanvi de memòria
- Ompliu una matriu amb un valor determinat.
- Ordena una matriu.
- Cerca en una matriu.
- I molts més.
Aquí la classe Arrays proporciona diversos mètodes estàtics que es poden utilitzar per realitzar aquestes tasques directament sense l'ús de bucles, per tant, fent que el nostre codi sigui molt curt i optimitzat.
Sintaxi: Declaració de classe
public class Arrays extends Object>
Sintaxi: Per utilitzar Arrays
Arrays.;>
Mètodes a la classe Java Array
La classe Arrays del paquet java.util conté diversos mètodes estàtics que es poden utilitzar per omplir, ordenar, cercar, etc. en matrius. Ara anem a discutir els mètodes d'aquesta classe que es mostren a continuació en un format tabular de la següent manera:
| Mètodes | Acció realitzada |
|---|---|
| asList() | Retorna una llista de mida fixa recolzada per les matrius especificades |
| binarySearch() | Cerca l'element especificat a la matriu amb l'ajuda de l'algoritme de cerca binari |
| binarySearch(matriu, des de l'índex, fins a l'índex, clau, comparador) | Cerca un rang de la matriu especificada per a l'objecte especificat mitjançant l'algoritme de cerca binari |
| compara (matriu 1, matriu 2) | Compara dues matrius passats com a paràmetres lexicogràficament. |
| copyOf(originalArray, newLength) | Copia la matriu especificada, truncant o farciment amb el valor predeterminat (si cal) perquè la còpia tingui la longitud especificada. |
| copyOfRange (matriu original, des de l'índex, índex final) | Copia l'interval especificat de la matriu especificada en una matriu nova. |
| deepEquals(Objecte[] a1, Objecte[] a2) | Retorna true si les dues matrius especificades són profundament iguals entre si. |
| deepHashCode(Objecte[] a) | Retorna un codi hash basat en el contingut profund de les matrius especificades. |
| deepToString(Objecte[] a) | Retorna una representació de cadena del contingut profund de les matrius especificades. |
| iguals (matriu1, matriu2) | Comprova si les dues matrius són iguals o no. |
| omplir (matriu original, valor de farciment) | Assigna aquest valor de farciment a cada índex d'aquesta matriu. |
| hashCode(originalArray) | Retorna un hashCode enter d'aquesta instància de matriu. |
| discrepància (matriu1, matriu2) | Cerca i retorna l'índex del primer element no coincident entre les dues matrius especificades. |
| parallelPrefix(originalArray, fromIndex, endIndex, functionalOperator) | Realitza parallelPrefix per a l'interval donat de la matriu amb l'operador funcional especificat. |
| parallelPrefix(originalArray, operador) | Realitza parallelPrefix per a una matriu completa amb l'operador funcional especificat. |
| parallelSetAll(originalArray, functionalGenerator) | Estableix tots els elements d'aquesta matriu en paral·lel, utilitzant la funció generadora proporcionada. |
| paral·lelSort(originalArray) | Ordena la matriu especificada mitjançant l'ordenació paral·lela. |
| setAll(originalArray, functionalGenerator) | Estableix tots els elements de la matriu especificada mitjançant la funció generadora proporcionada. |
| ordena (matriu original) | Ordena la matriu completa en ordre ascendent. |
| ordena (matriu original, des de l'índex, índex final) | Ordena l'interval especificat de matriu en ordre ascendent. |
| ordena (T[] a, int de l'índex, int a l'índex, comparador c) | Ordena l'interval especificat de la matriu d'objectes especificada segons l'ordre induït pel comparador especificat. |
| ordena (T[] a, comparador c) | Ordena la matriu d'objectes especificada segons l'ordre induït pel comparador especificat. |
| divisor (array original) | Retorna un Spliterator que cobreix totes les matrius especificades. |
| spliterator (matriu original, des de l'índex, índex final) | Retorna un Spliterator del tipus de matriu que cobreix l'interval especificat de les matrius especificades. |
| stream(originalArray) | Retorna un flux seqüencial amb la matriu especificada com a font. |
| toString(originalArray) | Retorna una representació de cadena del contingut d'aquesta matriu. La representació de cadena consta d'una llista dels elements de la matriu, tancats entre claudàtors ([]). Els elements adjacents estan separats pels caràcters una coma seguida d'un espai. Els elements es converteixen en cadenes com amb la funció String.valueOf(). |
Implementació:
Exemple 1: asList() Mètode
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));> >}> }> |
>
>Sortida
Integer Array as List: [[I@2f4d3709]>
Exemple 2: binarySearch() Mètode
Aquest mètode cerca l'element especificat a la matriu amb l'ajuda de l'algorisme de cerca binària.
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));> >}> }> |
>
>Sortida
22 found at index = 3>
Exemple 3: binarySearch (matriu, des de l'índex, fins a l'índex, clau, comparador) Mètode
Aquest mètode cerca un rang de la matriu especificada per a l'objecte especificat mitjançant l'algorisme de cerca binària.
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));> >}> }> |
>
>Sortida
22 found at index = -4>
Exemple 4: compara (matriu 1, matriu 2) Mètode
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));> >}> }> |
>
>Sortida
Integer Arrays on comparison: 1>
Exemple 5: compareUnsigned (matriu 1, matriu 2) Mètode
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));> >}> }> |
>
>Sortida
Integer Arrays on comparison: 1>
Exemple 6: copyOf(originalArray, newLength) Mètode
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>)));> >}> }> |
>
>Sortida
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOf: Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]>
Exemple 7: copyOfRange(originalArray, fromIndex, endIndex) Mètode
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>)));> >}> }> |
>
>Sortida
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOfRange: Integer Array: [20, 15]>
Exemple 8: deepEquals(Object[] a1, Object[] a2) Mètode
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));> >}> }> |
>
>Sortida
Integer Arrays on comparison: false>
Exemple 9: deepHashCode(Object[] a) Mètode
c booleà
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));> >}> }> |
>
>Sortida
Integer Array: 38475344>
Exemple 10: deepToString(Object[] a) Mètode
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));> >}> }> |
>
>Sortida
Integer Array: [[10, 20, 15, 22, 35]]>
Exemple 11: equals(matriu1, matriu2) Mètode
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));> >}> }> |
>
>Sortida
Integer Arrays on comparison: false>
Exemple 12: omplir (matriu original, valor de farciment) Mètode
Java
col·leccions en 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));> >}> }> |
>
>Sortida
Integer Array on filling: [22, 22, 22, 22, 22]>
Exemple 13: Mètode 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));> >}> }> |
>
>Sortida
Integer Array: 38475313>
Exemple 14: Mètode incompatibilitat (matriu1, matriu2).
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));> >}> }> |
>
>Sortida
The element mismatched at index: 1>
Exemple 15: Mètode 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));> >}> }> |
>
>Sortida
Integer Array: [10, 15, 20, 22, 35]>
Exemple 16: ordena (matriu original) Mètode
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));> >}> }> |
>
>Sortida
Integer Array: [10, 15, 20, 22, 35]>
Exemple 17: ordena (matriu original, des de l'índex, índex final) Mètode
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));> >}> }> |
>
>Sortida
Integer Array: [10, 15, 20, 22, 35]>
Exemple 18: ordena (T[] a, int de l'índex, int a l'índex, comparador c) Mètode
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]); } }> |
>
>Sortida
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 131 aaaa nyc 121 cccc jaipur>
Exemple 19: ordena (T[] a, comparador c) Mètode
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]); } }> |
>
>Sortida
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc>
Exemple 20: Mètode 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));> >}> }> |
>
>Sortida
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Exemple 21: spliterator (originalArray, fromIndex, endIndex) Mètode
Java
substituïu la cadena a la cadena 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>));> >}> }> |
>
>Sortida
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Exemple 22: Mètode 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));> >}> }> |
>
>Sortida
Integer Array: java.util.stream.IntPipeline$Head@7291c18f>
Exemple 23: toString(originalArray) Mètode
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));> >}> }> |
>
>Sortida
Integer Array: [10, 20, 15, 22, 35]>