Sunteți pe pagina 1din 3

ARREGLOS E JAVA

El tipo llamado arreglo o array, es el tipo ms conocido y en muchos lenguajes, el nico tipo d datos estructurados que se ha implementado. Un tipo arreglo es una lista de datos con un nmero fijo de componentes, todos del mismo tipo denominado tipo base; los que son referenciados o calificados mediante ndices o expresiones ordinales encerradas en corchetes, que actan como prefijo al identificador del arreglo, siendo su tipo denominado tipo ndice. Algunas de sus caractersticas ms importantes de los arrays son las siguientes:

Los arrays se crean con el operador new seguido del tipo y nmero de elementos. Se puede acceder al nmero de elementos de un arraycon la variable miembro implcita length (por ejemplo, vect.length). Se accede a los elementos de un array con los corchetes [] y un ndice que vara de 0 a length-1. 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. Los elementos de un array se inicializan al valor por defecto del tipo correspondiente (cero para valores numricos, la cadena vaca para Strings, false para boolean, null para referencias). Como todos los objetos, los arrays se pasan como argumentos a los mtodos por referencia. Se pueden crear arrays annimos (por ejemplo, crear un nuevo array como argumento actual en la llamada a un mtodo). Declaracin de Arreglos Como otras variables, antes de poder utilizar un array primero se debe declarar. De nuevo, al igual que otras variables, la declaracin de un array tiene dos componentes primarios: el tipo del array y su nombre. Un tipo de array incluye el tipo de dato de los elementos que va contener el array. Por ejemplo, el tipo de dato para un array que slo va a contener elementos enteros es un array de enteros. No puede existir un array de tipo de datos genrico en el que el tipo de sus elementos est indefinido cuando se declara el array. Aqu tienes la declaracin de un array de enteros:
int[] arrayDeEnteros;

La parte int[] de la declaracin indica que arrayDeEnteros es un array de enteros. La declaracin no asigna ninguna memoria para contener los elementos del array. Si se intenta asignar un valor o acceder a cualquier elemento de arrayDeEnteros antes de haber asignado la memoria para l, el compilador dar un error como este y no compilar el programa:

testing.java:64: Variable arrayDeEenteros may not have been initialized.

Para asignar memoria a los elementos de un array, primero se debe ejemplarizar el array. Se puede hacer esto utilizando el operador new de Java. (Realmente, los pasos que se deben seguir para crear un array son similares a los se deben seguir para crear un objeto de una clase: declaracin, ejemplificacin e inicializacin. La siguiente sentencia asigna la suficiente memoria para que arrayDeEnteros pueda contener diez enteros.
int[] arrayDeEnteros = new int[10]

En general, cuando se crea un array, se utiliza el operador new, ms el tipo de dato de los elementos del array, ms el nmero de elementos deseados encerrado entre corchetes cuadrados ([ y ]).
TipodeElemento[] NombredeArray = new TipodeElementos[tamanoArray]

Ahora que se ha asignado memoria para un array ya se pueden asignar valores a los elementos y recuperar esos valores:
for (int j = 0; j < arrayDeEnteros.length; j ++) { arrayDeEnteros[j] = j; System.out.println("[j] = " + arrayDeEnteros[j]); }

Como se puede ver en el ejemplo anterior, para referirse a un elemento del array, se aade corchetes cuadrados al nombre del array. Entre los corchetes cuadrados se indica (bien con una variable o con una expresin) el ndice del elemento al que se quiere acceder. Observa que en Java, el ndice del array empieza en 0 y termina en la longitud del array menos uno. Hay otro elemento interesante en el pequeo ejemplo anterior. El bucle for itera sobre cada elemento de arrayDeEnteros asignndole valores e imprimiendo esos valores. Observa el uso de arrayDeEnteros.length para obtener el tamao real del array. length es una propiedad proporcionada para todos los arrays de Java. Los arrays pueden contener cualquier tipo de dato legal en Java incluyendo los tipos de referencia como son los objetos u otros array. Por ejemplo, el siguiente ejemplo declara un array que puede contener diez objetos String.
String[] arrayDeStrings = new String[10];

Los elementos en este array son del tipo referencia, esto es, cada elemento contiene una referencia a un objeto String. En este punto, se ha asignado suficiente memoria para contener las referencias a los Strings, pero no se ha asignado memoria para los propios Strings. Si se intenta acceder a uno de los elementos de arraydeStrings obtendr una excepcin 'NullPointerException' porque el array est vaco y no

contiene ni cadenas ni objetos String. Se debe asignar memoria de forma separada para los objetos String:
for (int i = 0; i < arraydeStrings.length; i ++) { arraydeStrings[i] = new String("Hello " + i); }

Errores tpicos con arreglos:


int A[10]; // Ah no va el tamao! int[] A; // Ok A[1]= 100; // Todava no se ha pedido // espacio para el arreglo.

Peticin de espacio para un arreglo: NOTA.- Los arreglos son entidades estticas, cuyo primer elemento se encuentra en el ndice 0
int[] A; A= new int[10]; A[1]= 100; // Ahora s!