logo

Classe de matrius en Java

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]>