Вы находитесь на странице: 1из 5

ArrayList

Detalles Categora de nivel principal o raz: Apuntes Java Categora: Arrays ltima actualizacin el Lunes, 20 Agosto 2012 16:44 Publicado el Domingo, 16 Enero 2011 18:48 Escrito por Javier Garca Visto: 33213 1. Declaracin de un objeto ArrayList 2. Creacin de un ArrayList 3. Aadir elementos al final de la lista 4. Insertar elementos en una determinada posicin 5. Suprimir elementos de la lista 6. Consulta de un determinado elemento de la lista 7. Modificar un elemento contenido en la lista 8. Buscar un elemento 9. Recorrer el contenido de la lista 10. Otros mtodos de inters

La clase ArrayList permite el almacenamiento de datos en memoria de forma similar a los arrays convencionales, pero con la gran ventaja de que el nmero de elementos que puede almacenar es dinmico. La cantidad de elementos que puede almacenar un array convencional est limitado por el nmero que se indica en el momento de crearlo o inicializarlo. Los ArrayList, en cambio, pueden almacenar un nmero variable de elementos sin estar limitados por un nmero prefijado.

Declaracin de un objeto ArrayList


La declaracin genrica de un ArrayList se puede hacer con un formato similar al siguiente: ArrayList nombreDeLista; Como se puede observar, de esta manera no se indica el tipo de datos que va a contener. Suele ser recomendable especificar el tipo de datos que va a contener la lista para que as se empleen las operaciones y mtodos adecuados para el tipo de datos manejado. Para especificar el tipo de datos que va a contener la lista se debe indicar entre los caracteres '<' y '>' la clase de los objetos que se almacenarn: ArrayList<nombreClase> nombreDeLista; En caso de almacenar datos de un tipo bsico de Java como char, int, double, etc, se debe especificar el nombre de la clase asociada: Character, Integer, Double, etc. Ejemplos:

1.ArrayList<String> listaPaises; 2.ArrayList<Integer> edades;

Creacin de un ArrayList
Para crear un ArrayList se puede seguir el siguiente formato: nombreDeLista = new ArrayList(); Como suele ser habitual, se puede declarar la lista a la vez que se crea: ArrayList<nombreClase> nombreDeLista = new ArrayList(); Por ejemplo:
1.ArrayList<String> listaPaises = new ArrayList();

La clase ArrayList forma parte del paquete java.util, por lo que hay que incluir en la parte inicial del cdigo la importacin de ese paquete (import java.util.ArrayList;). Como siempre, desde NetBeans se puede solucionar rpidamente desde el men contextual (clic derecho del ratn) del cdigo fuente, escogiendo la opcin "Reparar importaciones".

Aadir elementos al final de la lista


El mtodo add de la clase ArrayList posibilita aadir elementos. Los elementos que se van aadiendo, se colocan despus del ltimo elemento que hubiera en el ArrayList. En primer elemento que se aada se colocar en la posicin 0. boolean add(Object elementoAInsertar); Ejemplos:
1.ArrayList<String> listaPaises = new ArrayList(); 2.listaPaises.add("Espaa"); //Ocupa la posicin 0 3.listaPaises.add("Francia"); //Ocupa la posicin 1 4.listaPaises.add("Portugal"); //Ocupa la posicin 2 1.//Se pueden crear ArrayList para guardar datos numricos de igual manera 2.ArrayList<Integer> edades = new ArrayList(); 3.edades.add(22); 4.edades.add(31); 5.edades.add(18);

Insertar elementos en una determinada posicin


Con los arrayList tambin es posible insertar un elemento en una determinada posicin desplazando el elemento que se encontraba en esa posicin, y todos los siguientes, una posicin ms.

Para ello, se emplea tambin el mtodo add indicando como primer parmetro el nmero de la posicin donde se desea colocar el nuevo elemento: void add(int posicin, Object elementoAInsertar); Ejemplo:
1.ArrayList<String> listaPaises = new ArrayList(); 2.listaPaises.add("Espaa"); 3.listaPaises.add("Francia"); 4.listaPaises.add("Portugal"); 5.//El orden hasta ahora es: Espaa, Francia, Portugal 6.listaPaises.add(1, "Italia"); 7.//El orden ahora es: Espaa, Italia, Francia, Portugal

Si se intenta insertar en una posicin que no existe, se produce una excepcin (IndexOutOfBoundsException)

Suprimir elementos de la lista


Si se quiere que un determinado elemento se elimine de la lista se puede emplear el mtodo remove al que se le puede indicar por parmetro un valor int con la posicin a suprimir, o bien, se puede especificar directamente el elemento a eliminar si es encontrado en la lista. Object remove(int posicin) boolean remove(Object elementoASuprimir) Se puede ver en el siguiente ejemplo los dos posibles usos:
01.ArrayList<String> listaPaises = new ArrayList(); 02.listaPaises.add("Espaa"); 03.listaPaises.add("Francia"); 04.listaPaises.add("Portugal"); 05.//El orden hasta ahora es: Espaa, Francia, Portugal 06.listaPaises.add(1, "Italia"); 07.//El orden ahora es: Espaa, Italia, Francia, Portugal 08.listaPaises.remove(2); 09.//Eliminada Francia, queda: Espaa, Italia, Portugal 10.listaPaises.remove("Portugal"); 11.//Eliminada Portugal, queda: Espaa, Italia

Consulta de un determinado elemento de la lista


El mtodo get permite obtener el elemento almacenado en una determinada posicin que es indicada con un parmetro de tipo int: Object get(int posicin)

Con el elemento obtenido se podr realizar cualquiera de las operaciones posibles segn el tipo de dato del elemento (asignar el elemento a una variable, incluirlo en una expresin, mostrarlo por pantalla, etc). Por ejemplo:
1.System.out.println(listaPaises.get(3)); 2.//Siguiendo el ejemplo anterior, mostrara: Portugal

Modificar un elemento contenido en la lista


Es posible modificar un elemento que previamente ha sido almacenando en la lista utilizando el mtodo set. Como primer parmetro se indica, con un valor int, la posicin que ocupa el elemento a modificar, y en el segundo parmetro se especifica el nuevo elemento que ocupar dicha posicin sustituyendo al elemento anterior. Object set(int posicin, Object nuevoElemento) Por ejemplo, si en el ejemplo de la lista de pases se desea modificar el que ocupe la posicin 1 (segundo en la lista) por "Alemania":
1.listaPaises.set(1, "Alemania");

Buscar un elemento
La clase ArrayList facilita mucho las bsquedas de elementos gracias al mtodo indexOf que retorna, con un valor int, la posicin que ocupa el elemento que se indique por parmetro. int indexOf(Object elementoBuscado) Si el elemento se encontrara en ms de una posicin, este mtodo retorna la posicin del primero que se encuentre. El mtodo lastIndexOf obtiene la posicin del ltimo encontrado. Ejemplo que comprueba si Francia est en la lista, y muestra su posicin.
1.String paisBuscado = "Francia"; 2.int pos = listaPaises.indexOf(paisBuscado); 3.if(pos!=-1) 4.System.out.println(paisBuscado + " se ha encontrado en la posicin: "+pos); 5.else 6.System.out.println(paisBuscado + " no se ha encontrado");

En caso de que no se encuentre en la lista el elemento buscado, se obtiene el valor -1.

Recorrer el contenido de la lista


Es posible obtener cada uno de los elementos de la lista utilizando un bucle con tantas iteraciones como elementos contenga, de forma similar a la empleada con los arrays convencionales. Para obtener el nmero de elementos de forma automtica se puede emplear el mtodo size() que devuelve un valor int con el nmero de elementos que contiene la lista.

1.for(int i=0; i<listaPaises.size(); i++) 2.System.out.println(listaPaises.get(i));

Tambin se puede emplear el otro formato del bucle for en el que se va asignando cada elemento de la lista a una variable declarada del mismo tipo que los elementos del ArrayList:
1.for(String pais:listaPaises) 2.System.out.println(pais);

(Como implementacin de la clase Collection, los ArrayList pueden recorrerse utilizando Iterator)

Otros mtodos de inters


void clear(): Borra todo el contenido de la lista. Object clone(): Retorna una copia de la lista. boolean contains(Object elemento): Retorna true si se encuenta el elemento indicado en la lista, y false en caso contrario. boolean isEmpty(): Retorna true si la lista est vaca. Object[] toArray(): Convierte la lista a un array.

Вам также может понравиться