Arrays

Los arrays de Java (vectores, matrices, hiper-matrices de más de dos dimensiones) se tratan como objetos de una clase predefinida. Los arrays son objetos, pero con algunas características propias. Los arrays pueden ser asignados a objetos de la clase Object y los métodos de Object pueden ser utilizados con arrays.

Algunas de sus características más importantes de los arrays son las siguientes:

1. Los arrays se crean con el operador new seguido del tipo y número de elementos.

2. Se puede acceder al número de elementos de un array con la variable miembro implícita length (por ejemplo, vect.length).

3. Se accede a los elementos de un array con los corchetes [] y un índice que varía de 0 a length-1.

4. Se pueden crear arrays de objetos de cualquier tipo. En principio un array de objetos es un array de referencias que hay que completar llamando al operador new.

5. Los elementos de un array se inicializan al valor por defecto del tipo correspondiente (cero para valores numéricos, el carácter nulo para char, false para boolean, null para Strings y para referencias).

6. Como todos los objetos, los arrays se pasan como argumentos a los métodos por referencia.

7. Se pueden crear arrays anónimos (por ejemplo, crear un nuevo array como argumento actual en la llamada a un método).

Inicialización de arrays:

1. Los arrays se pueden inicializar con valores entre llaves {…} separados por comas.

2. También los arrays de objetos se pueden inicializar con varias llamadas a new dentro de unas llaves {…}.

3. Si se igualan dos referencias a un array no se copia el array, sino que se tiene un array con dos nombres, apuntando al mismo y único objeto.

4. Creación de una referencia a un array. Son posibles dos formas:

double[] x; // preferible double x[];

5. Creación del array con el operador new:

x = new double[100];

6. Las dos etapas 4 y 5 se pueden unir en una sola:

double[] x = new double[100];

A continuación se presentan algunos ejemplos de creación de arrays:

// crear un array de 10 enteros, que por defecto se inicializan a cero int v[] = new int[10];
// crear arrays inicializando con determinados valores
int v[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
String dias[] = {«lunes», «martes», «miercoles», «jueves», «viernes», «sabado», «domingo»};
// array de 5 objetos
MiClase listaObj[] = new MiClase[5]; // de momento hay 5 referencias a null for( i = 0 ; i < 5;i++)
listaObj[i] = new MiClase(…); // array anónimo
obj.metodo(new String[]={«uno», «dos», «tres»});

Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra