¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Arrays
Un array es una estructura de datos que almacena una cantidad fija de elementos de la misma clase o tipo. Todos los datos que almacena deben ser del mismo tipo. Una vez creados siempre tienen la misma cantidad de elementos; no pueden crecer. En Java los arrays son objetos al igual que el resto de tipos de datos que veremos a partir de ahora y funcionan algo distinta a los tipos primitivos.
Declarar una variable
Las variables de tipo array se declaran así:
tipo_de_dato[] identificador; //Ejemplos int[] numerosEnteros; double[] numerosReales; String[] listaCadenas;
Cuando creamos una variable de tipo array no indicamos el tamaño que almacenará, solo el tipo de los datos que contendrá. Puede almacenar cualquier tamaño de array.
Las variables anteriores no podré usarlas hasta que no contenga la referencia a array. Las variables de tipos de datos que almacenan objetos (no tipos primitivos) se llaman variables de referencia.
Crear un objeto array
Para construir un array, igual que ocurre con casi todos los objetos, necesitamos invocar al operador new:
int[] enteros = new int[4]; //array con capacidad para 4 enteros (int) String[] listaCadenas; listaCadenas = new String[200]; //array con capacidad para 200 Strings
También puedo crear un array en el momento de la declaración de su variable, indicando directamente los valores que contiene (luego podrán ser modificados):
int[] numeros = {4, 6, -435, 65, 0}; //He construido un array de 5 enteros String[] nombres = {"Juan", "Pedro", "", "Maria"}; //He construido un array de 4 Strings
Lo más importante de los arrays
El aspecto más importante de los arrays es que son objetos y no tipos primitivos. Toda variable que no es de un tipo primitivo es una variable de referencia. Solo hay 8 tipos primitivos (byte, short, int, long, float, double, boolean, char). Todo los demás son objetos.
Las variables de referencia no almacenan al objeto (valor) sino la referencia (dirección de memoria) de ese objeto.
//Con variables primitivas int num1 = 7; int num2; num2 = num1; num2 = 4; //En este punto num1 -> 7 y num2 -> 4 //Con variables de referencia: creo 2 variables, pero solo un array int[] enteros1 = new int[4]; int[] enteros2; enteros2 = enteros1; //Ambas variables tienen la misma información: //Esta información es la referencia a un mismo array. Por ej: @F456AC enteros1[0] = 6; enteros2[0] = 9; //Tanto enteros1[0] como enteros2[0] guardan 9 //enteros1 -> @F456AC y enteros2 -> @F456AC //Ambas variables referencian al mismo array