====== Clase Arrays ====== ==== Package java.util ==== El paquete ''java.util'' contiene clases para gestionar colecciones de Java (Lists, Sets, Maps) y para su manejo. También contiene clases de lectura como ''Scanner'', clases para tiempo, fechas, y otras clases útiles. Las clases de este package necesitan ser importadas para ser usadas: import java.util.Scanner; import java.util.Arrays; ===== Clase Arrays ===== La clase Arrays, es una clase con métodos ''static'', útiles para trabajar con arrays. Como sus métodos son estaticos, no necesitamos crear un objeto de esa clase (instanciar la clase), sino que al igual que con la clase Math, llamaremos a cada método precedido por el nombre de la clase. int[] arrayEnteros = { 4, 7, -45, 456, 0}; Arrays.sort(arrayEnteros); //El array queda ordenado La mayor parte de los métodos de esta clase están sobrecargados por lo que se pueden usar para cualquier tipo de array. ===== Métodos Clase Arrays ===== ^ Método ^ Descripción ^ Parámetros que recibe ^ Tipo de datos que devuelve ^ | boolean **equals**(array1, array2) | Indica si el contenido de ambos arrays es el mismo | Dos arrays del mismo tipo | true si son iguales, false en caso contrario | | String **toString**(array) | Devuelve un String con la representación del contenido del array | Un array unidimensional de cualquier tipo| Un String con la representación| | void **fill**(array, valor) | Rellena el array con el valor indicado | Un array de cualquier dimensión y un valor del mismo tipo | No devuelve nada | | tipo[] **copyOf**(array); | Devuelve otro array que es una copia del indicado | Un array unidimensional | Un array del mismo tipo que contiene lo mismo que el indicado | |tipo[] **copyOfRange**(array, inicio, fin) | Devuelve otro array que es una copia del indicado desde el indice inicio hasta el índice fin | Un array unidimensional y dos enteros indicando el rango | Un array del mismo tipo que contiene una copia del rango indicado | | int **binarySearch**(array , valor) | Busca un valor dentro de un array del tipo de valor (El array debe estar ordenado) | Un array y un valor del mismo tipo de datos | int con la posición en la que lo encuentra, o -1 si no. | | void **sort**(array) | Ordena el array. Los tipos que contiene deben ser ordenables (primitivos, u objetos con compareTo() | Un array unidimensional de cualquier tipo | No devuelve nada | //Compruebo si los arrays contienen lo mismo if(Arrays.equals(enteros1, enteros2)){ System.out.println("Contienen los mismos valores"); } //Copio el array enteros1 y guardo la referencia en la variable copiaEnteros int[] copiaEnteros = Arrays.copy(enteros1); //Relleno la matriz con el caracter '*' char[][] caracteres = new char[50][100]; Arrays.fill(caracteres, '*'); //Muestro por pantalla una representacion del array int[] numeros = {-4, 6, 0, -34}; System.out.println(Arrays.toString(numeros)); Para saber qué métodos nos ofrece esta clase podemos consultar la API de Java: https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html ---- (c) {{date> %Y}} Fernando Valdeón