El matrices clase en paquete java.util es parte del Marco de colección de Java . Esta clase proporciona métodos estáticos para crear y acceder dinámicamente matrices de Java . Consiste únicamente en métodos estáticos y métodos de la clase Object. Los métodos de esta clase pueden ser utilizados por el propio nombre de la clase.
La jerarquía de clases es la siguiente:
java.lang.Object ? java.util.Arrays>
Geek, ahora debes preguntarte por qué necesitamos la clase Java Arrays cuando podemos declarar, inicializar y calcular operaciones sobre matrices. Sin embargo, la respuesta a esto se encuentra dentro de los métodos de esta clase que vamos a discutir más a fondo, ya que prácticamente estas funciones ayudan a los programadores a ampliar horizontes con matrices, por ejemplo, a menudo hay ocasiones en las que bucles se utilizan para realizar algunas tareas en una matriz como:
- Llene una matriz con un valor particular.
- Ordenar una matriz.
- Buscar en una matriz.
- Y muchos más.
Aquí la clase Arrays proporciona varios métodos estáticos que se pueden usar para realizar estas tareas directamente sin el uso de bucles, lo que hace que nuestro código sea súper corto y optimizado.
Sintaxis: Declaración de clase
public class Arrays extends Object>
Sintaxis: Para utilizar matrices
Arrays.;>
Métodos en la clase de matriz Java
La clase Arrays del paquete java.util contiene varios métodos estáticos que se pueden usar para completar, ordenar, buscar, etc. en matrices. Ahora analicemos los métodos de esta clase que se muestran a continuación en formato tabular de la siguiente manera:
| Métodos | Acción realizada |
|---|---|
| comoLista() | Devuelve una lista de tamaño fijo respaldada por las matrices especificadas. |
| búsqueda binaria() | Busca el elemento especificado en la matriz con la ayuda del algoritmo de búsqueda binaria |
| binarioSearch(matriz, fromIndex, toIndex, clave, Comparador) | Busca en un rango de la matriz especificada el objeto especificado utilizando el algoritmo de búsqueda binaria |
| comparar (matriz 1, matriz 2) | Compara lexicográficamente dos matrices pasadas como parámetros. |
| copia de (matriz original, nueva longitud) | Copia la matriz especificada, truncando o rellenando con el valor predeterminado (si es necesario) para que la copia tenga la longitud especificada. |
| copyOfRange(originalArray, fromIndex, endIndex) | Copia el rango especificado de la matriz especificada en una nueva matriz. |
| deepEquals(Objeto[] a1, Objeto[] a2) | Devuelve verdadero si las dos matrices especificadas son profundamente iguales entre sí. |
| deepHashCode(Objeto[] a) | Devuelve un código hash basado en el contenido profundo de las matrices especificadas. |
| deepToString(Objeto[] a) | Devuelve una representación de cadena del contenido profundo de las matrices especificadas. |
| es igual (matriz1, matriz2) | Comprueba si ambas matrices son iguales o no. |
| llenar (matriz original, valor de relleno) | Asigna este valor de relleno a cada índice de estas matrices. |
| código hash (matriz original) | Devuelve un código hash entero de esta instancia de matriz. |
| falta de coincidencia (matriz1, matriz2) | Encuentra y devuelve el índice del primer elemento no coincidente entre las dos matrices especificadas. |
| ParaleloPrefix(originalArray, fromIndex, endIndex, operador funcional) | Realiza paraleloPrefix para el rango dado de la matriz con el operador funcional especificado. |
| Prefijo paralelo (matriz original, operador) | Realiza paraleloPrefix para una matriz completa con el operador funcional especificado. |
| paraleloSetAll (matriz original, generador funcional) | Establece todos los elementos de esta matriz en paralelo, utilizando la función generadora proporcionada. |
| ordenación paralela (matriz original) | Ordena la matriz especificada mediante ordenación paralela. |
| setAll (matriz original, generador funcional) | Establece todos los elementos de la matriz especificada utilizando la función de generador proporcionada. |
| ordenar (matriz original) | Ordena la matriz completa en orden ascendente. |
| ordenar (matriz original, índice desde, índice final) | Ordena el rango de matriz especificado en orden ascendente. |
| ordenar(T[] a, int fromIndex, int toIndex, Comparador c) | Ordena el rango especificado de la matriz de objetos especificada según el orden inducido por el comparador especificado. |
| ordenar(T[] a, Comparador c) | Ordena la matriz especificada de objetos según el orden inducido por el comparador especificado. |
| separador (matriz original) | Devuelve un Spliterator que cubre todos los Arrays especificados. |
| spliterator(originalArray, fromIndex, endIndex) | Devuelve un Spliterator del tipo de matriz que cubre el rango especificado de las matrices especificadas. |
| flujo (matriz original) | Devuelve una secuencia secuencial con la matriz especificada como origen. |
| toString(matriz original) | Devuelve una representación de cadena del contenido de esta matriz. La representación de cadena consta de una lista de los elementos de la matriz, encerrados entre corchetes ([]). Los elementos adyacentes están separados por caracteres, una coma seguida de un espacio. Los elementos se convierten en cadenas mediante la función String.valueOf(). |
Implementación:
Ejemplo 1: comoLista() Método
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));> >}> }> |
>
>Producción
Integer Array as List: [[I@2f4d3709]>
Ejemplo 2: búsqueda binaria() Método
Este método busca el elemento especificado en la matriz con la ayuda del algoritmo de búsqueda binaria.
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));> >}> }> |
>
>Producción
22 found at index = 3>
Ejemplo 3: Método binarioSearch(array, fromIndex, toIndex, clave, Comparador)
Este método busca en un rango de la matriz especificada el objeto especificado utilizando el algoritmo de búsqueda binaria.
Java
corte
// 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));> >}> }> |
>
>Producción
22 found at index = -4>
Ejemplo 4: método comparar (matriz 1, matriz 2)
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));> >}> }> |
>
>Producción
Integer Arrays on comparison: 1>
Ejemplo 5: Método compareUnsigned (matriz 1, matriz 2)
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));> >}> }> |
>
>Producción
Integer Arrays on comparison: 1>
Ejemplo 6: método copyOf(originalArray, nuevaLongitud)
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>)));> >}> }> |
>
>Producción
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOf: Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]>
Ejemplo 7: método 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>)));> >}> }> |
>
>Producción
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOfRange: Integer Array: [20, 15]>
Ejemplo 8: método deepEquals(Objeto[] a1, Objeto[] a2)
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));> >}> }> |
>
>Producción
Integer Arrays on comparison: false>
Ejemplo 9: Método deepHashCode(Objeto[] a)
un millón en números
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));> >}> }> |
>
>Producción
Integer Array: 38475344>
Ejemplo 10: deepToString(Objeto[] a) Método
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));> >}> }> |
>
>Producción
Integer Array: [[10, 20, 15, 22, 35]]>
Ejemplo 11: método igual a (matriz1, matriz2)
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));> >}> }> |
>
>Producción
Integer Arrays on comparison: false>
Ejemplo 12: llenar (matriz original, valor de relleno) Método
Java
herencia 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));> >}> }> |
>
>Producción
Integer Array on filling: [22, 22, 22, 22, 22]>
Ejemplo 13: Método 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));> >}> }> |
>
>Producción
Integer Array: 38475313>
Ejemplo 14: Método no coincidente (matriz1, matriz2)
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));> >}> }> |
>
>Producción
The element mismatched at index: 1>
Ejemplo 15: Método paraleloSort(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));> >}> }> |
>
>Producción
Integer Array: [10, 15, 20, 22, 35]>
Ejemplo 16: ordenar (matriz original) Método
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));> >}> }> |
>
>Producción
Integer Array: [10, 15, 20, 22, 35]>
Ejemplo 17: ordenar (matriz original, índice desde, índice final) Método
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));> >}> }> |
>
>Producción
Integer Array: [10, 15, 20, 22, 35]>
Ejemplo 18: ordenar(T[] a, int fromIndex, int toIndex, Comparador c) Método
Java
cómo devolver una matriz en 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]); } }> |
>
>Producción
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 131 aaaa nyc 121 cccc jaipur>
Ejemplo 19: ordenar(T[] a, Comparador c) Método
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]); } }> |
>
>Producción
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc>
Ejemplo 20: Método 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));> >}> }> |
>
>Producción
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Ejemplo 21: Método spliterator(originalArray, fromIndex, endIndex)
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>));> >}> }> |
>
>Producción
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e>
Ejemplo 22: método 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));> >}> }> |
>
>Producción
Integer Array: java.util.stream.IntPipeline$Head@7291c18f>
Ejemplo 23: toString(matriz original) Método
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));> >}> }> |
>
>Producción
Integer Array: [10, 20, 15, 22, 35]>