You are on page 1of 4

Clase ArrayList

La clase ArrayList (java.util) es un objeto de tipo lista que implemente la interfaz Collection de java. Esta clase permite contener y ordenar objetos, incluso, puede almacenar objetos duplicados. Su tamao es dinmico, es decir, esta lista crecer a medida que se inserten en ella ms elementos. Debemos recordar que el ndice de un ArrayList empieza en 0, es decir, el primer elemento del ArrayList tiene como ndice el 0 Nota: Los objetos ArrayList se comportan igual que un objeto Vector desincronizado, por lo tanto, un ArrayList se ejecuta ms rpido que un Vector, ya que el ArrayList no tiene que implementar los mtodos de sincronizacin de procesos. Agregar elementos El ArrayList contendr diversos elementos que debemos gestionar, para agregar elementos, se puede hacer de dos formas usando el mtodo add() que recibe por parmetro un objeto de tipo Object: La primera forma sera insrtalo sin darle una posicin especfica, entonces, por defecto el elemento ser agregado al final:
// instanciamos un nuevo ArrayList ArrayList mi_lista = new ArrayList(); // agregamos el elemento, por defecto lo agregar de ltimo mi_lista.add("elemento 1");

La segunda forma sera dndole una posicin especfica en l la lista. Si se da el caso de que el elemento que vamos a insertar en un ndice donde ya hay un elemento, la lista, por definicin el elemento insertado y todos a la derecha de l se corrern una posicin a la derecha:
// instanciamos un nuevo ArrayList ArrayList mi_lista = new ArrayList(); // agregamos el elemento, por defecto lo agregar de ltimo mi_lista.add(1, "elemento A");

Eliminar Elementos Para eliminar elementos se dispone de el mtodo remove() en el cual se recibe como argumento el objeto (s, el objeto) o eliminar el elemento conociendo su ndice el ndice (posicin).

Para este ejemplo supongamos que tenemos una clase Persona, que tiene nombre y edad, insertaremos unas cuantas personas en la lista y luego eliminaremos una de ellas usando las dos formas Eliminado segn su ndice en la lista:
Persona persona_1 = new Persona("Julian", 20); Persona persona_2 = new Persona("Bety", 17); Persona persona_3 = new Persona("Marta", 22); ArrayList mi_lista = new ArrayList(); // agregamos unos cuantos elementos mi_lista.add(persona_1); mi_lista.add(persona_2); mi_lista.add(persona_3); // la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Bety] 2 = [Marta] // si queremos eliminar a "Betty" por su ndice seria asi: mi_lista.remove(1) // el 1 pertenece al ndice o posicion de Betty en la lista // la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Marta]

Marta ha pasado a la posicin 1, ya que la lista se forz a correr todos los elementos a la izquierda para que ocupe ese espacio eliminado, entonces el tamao de la lista se reduce a 2 elementos nicamente La otra forma sera si le enviamos el objeto para que la lista lo identifique. Aclaro, ingresar un nuevo elemento con los mismos datos no significa que sea el mismo elemento, para que deba ser igual deber tener la misma instancia y/o la misma posicin en memoria
Persona persona_1 = new Persona("Julian", 20); Persona persona_2 = new Persona("Bety", 17); Persona persona_3 = new Persona("Marta", 22); ArrayList mi_lista = new ArrayList(); // agregamos unos cuantos elementos mi_lista.add(persona_1); mi_lista.add(persona_2); mi_lista.add(persona_3); // la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Bety] 2 = [Marta] // si queremos eliminar a "Julian" debemos "enviarle a Juan" de nuevo mi_lista.remove(persona_1) // se envia la instancia de Juan // la estructura de a lista ha quedado asi: 0 = [bety] 1 = [Marta]

Otras funciones importantes Para determinar la cantidad de elementos de la lista solo se llama al mtodo size()
int total = mi_lista.size();

Para vaciar la lista y dejarla sin ningn elemento en ella se usa el mtodo clear()
mi_lista.clear();

Para saber si un objeto sta insertado en lista usamos el mtodo contains(), el cual devuelve true si existe o un false si sucede lo contrario.
boolean existencia = mi_lista.contains(elObjetoBuscado);

Para saber si la lista est vaca, es decir, si no tiene elementos usamos isEmpty() que devuelve true si NO hay elementos o un false si contiene algn elemento.
boolean vacia = mi_lista.isEmpty();

Para pasar o copiar los elementos a un arreglo de objetos (TipoObjeto objetos []) se usa el mtodo toArray().
Object objetos [] = mi_lista.toArray();

IndexOf(Object o) Esta funcin retorna la posicin de un elemento que est en el array.


Persona a = new Persona ("Juan"); mi_lista.add(a); Persona b = new Persona ("Marta"); mi_lista.add(b); Persona c = new Persona ("Andrea"); mi_lista.add(c); //retorna 2 int indice = mi_lista.indexOf(b);

addAll(Collection c) Este mtodo se encarga de anexar un ArrayList a otra ya creado. Pero tambin se puede aplicar a otro tipo de listas que implementen la interfaz Collection.
ArrayList otra_lista = new ArrayList(); Persona d = new Persona ("Carlos"); otra_lista.add(d); Persona e = new Persona ("Samuel"); otra_lista.add(e); mi_lista.addAll( otra_lista );

You might also like