Declaración y acceso
Un arreglo (array) es una colección ordenada de elementos del mismo tipo, que son accesibles a través de un índice.Un arreglo puede contener datos primitivos o referencias a objetos.
Los arrays se deben declarar:
[modificadores] tipo_variable[ ] nombre;
Por ejemplo:
int [ ] a;
Punto [ ] p;
La declaración dice que a es un array de enteros y p un array de objetos de tipo Punto. De manera más precisa a es una referencia a una colección de enteros, aunque todavía no se sabe cuantos elementos tiene el array. p es una referencia a una colección de referencias que apuntarán objetos Punto.Punto [ ] p;
Un array se crea como si se tratara de un objeto (de hecho las variables de tipo array son referencias):
a = new int [5];
p = new Punto[3];
p = new Punto[3];
En el momento de la creación del arreglo se dimensiona el mismo y se reserva la memoria necesaria.
También puede crearse de forma explícita asignando valores a todos los elementos del array en el momento de la declaración, de la siguiente forma:
También puede crearse de forma explícita asignando valores a todos los elementos del array en el momento de la declaración, de la siguiente forma:
int [ ] a = { 2 , 3 , 5 };
El acceso a los elementos del array se realiza indicando entre corchetes el elemento del array que se desea, teniendo en cuenta que siempre el primer elemento del array es el índice 0. Por ejemplo a[1]. En este ejemplo los índices del array de tres elementos son 0, 1 y 2. Si se intenta usar un índice que está fuera del rango válido para ese arreglo se produce un error (en realidad una excepción. Las excepciones serán tratadas en un capítulo posterior) de 'Indice fuera de rango'. En el ejemplo anterior se produce esta excepción si el índice es menor que 0 o mayor que 2.
Se puede conocer el número de elementos de un array usando la variable length. En el ejemplo a.length contiene el valor 3.
Un arreglo, como cualquier otra referencia puede formar parte de la lista de parámetros o constituir el valor de retorno de un método. En ambos casos se indica que se trata de un array con los corchetes que siguen al tipo. Por ejemplo:
Se puede conocer el número de elementos de un array usando la variable length. En el ejemplo a.length contiene el valor 3.
Un arreglo, como cualquier otra referencia puede formar parte de la lista de parámetros o constituir el valor de retorno de un método. En ambos casos se indica que se trata de un array con los corchetes que siguen al tipo. Por ejemplo:
String [ ] metodoConArrays ( Punto [ ] ) { . . }
El método metodoConArrays recibe como parámetro un array de Puntos y devuelve un array de Strings. El método podría invocarse de la siguiente forma:
Punto p [ ] = new Punto [3];
. . .
String [ ] resultado = metodoConArrays(p);
. . .
String [ ] resultado = metodoConArrays(p);
Arreglos multidimensionales
Es posible declarar arrays de más de una dimensión. Los conceptos son los mismos que para los arreglos monodimensionales.Por ejemplo:
int [ ][ ] a = { { 1 , 2 } , { 3 , 4 } , { 5 , 6 } };
int x = a [1][0]; // contiene 3
int y = a [2][1]; // contiene 6
Se pueden recorrer los elementos de un array multidimensional, de la siguiente forma:
int x = a [1][0]; // contiene 3
int y = a [2][1]; // contiene 6
int [ ][ ] a = new int [3][2];
for ( int i = 0 ; i < a.length ; i++ ) {
for ( int j = 0 ; j < a[i].length ; j++) {
a[i][j] = i * j;
}
}
Obsérvese en el ejemplo la forma de acceder al tamaño de cada dimensión del array.
for ( int i = 0 ; i < a.length ; i++ ) {
for ( int j = 0 ; j < a[i].length ; j++) {
a[i][j] = i * j;
}
}
REFERENCIAS: arrakis