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

Ejemplos de ArrayList en java.

ArrayList en Java
ArrayList Un ArrayList es un array dinmico. No tiene restricciones de capacidad. Su tamao se ajusta de forma dinmica. Constructor por defecto: new ArrayList(). Inicialmente, la capacidad de un ArrayList creado as es 0. Los elementos dentro de un ArrayList son Objetos. No pueden ser de tipo bsico, pero pueden ser de cualquier tipo de objeto. La clase ArrayList forma parte del paquete java.util Para poner un elemento dentro de esta estructura, usamos el mtodo add y para recoger un elemento usamos el mtodo get. Ejemplo: import java.util.*; public class ArrayListExample1 { public static void main(String[ ] args) { ArrayList thisArrayList = new ArrayList( ) ; thisArrayList.add("hello" ; thisArrayList.add(","; thisArrayList.add("are" ; thisArrayList.add("you" ; thisArrayList.add("?" ; for (int i=0;i<"thisArrayList.size( ) " ;i++) System.out.print(thisArrayList.get(i) + " " ) ; } } Mtodos de ArrayList int size() -- El tamao actual (puede ser 0) void add(obj) -- Aade un objeto al final del ArrayList, incrementando su tamao de 1. obj es un objeto. Object get(N) -- Devuelve el elemento almacenado a la posicin N en el ArrayList. N tiene que ser un entero entre 0 y size()-1. En ArrrayListInteger.java, se convierte el objeto devuelto por get() a un Integer con casting. En ArrayListString.java, se convierte el objeto devuelto por get() a un String llamando al mtodo toString() de Object. -----Analizar import java.util.ArrayList; public class ArrayListInteger { public static void main(String[] args) { ArrayList numeros = new ArrayList() ; Integer num1 = new Integer(10); Integer num2 = new Integer(20) ; Integer num3 = new Integer(30) ;

Integer num4 = new Integer(40) ; numeros.add(num1) ; numeros.add(num2) ; numeros.add(num3) ; numeros.add(num4) ; int suma=0; for (int i=0;i<"numeros.size()";i++) { Integer thisNumero = (Integer)numeros.get(i) ; suma = suma + thisNumero.intValue() ; System.out.print(thisNumero); if (i<"numeros.size()"-1) System.out.print("+" ; else System.out.print("=" ; } System.out.println(suma); } } Otro ejemplo

6 import java.util.*; public class ArrayListString { public static void main(String[] args) { ArrayList cadenas = new ArrayList(); cadenas.add("hello"; cadenas.add("," ; cadenas.add("are" ; cadenas.add("you" ; cadenas.add("?" ; for (int i=0;i Object object = cadenas.get(i); String cadena = object.toString(); cadena = cadena.toUpperCase(); System.out.print(cadena+" "; } } }

ArrayList
La clase ArrayList (java.util) es una objeto que acta como una 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 mas elementos. Debememos recordar que el ndice de un ArrayList empieza en 0 (cero), es decir, el primer elemento del ArrayList tiene como ndice el 0. Nota: Los objetos ArrayList se comportan igual que un objeto Vector desincronizado, pero con la salvedad de que 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 cualquiera: 1. La primera forma sera insertndolo sin darle una posicin especfica, entonces, el elemento ser agregado al final:

1 2 3 4 5 6

// instanciamos un nuevo ArrayList ArrayList mi_lista = new ArrayList();

// agregamos el elemento, por defecto lo agregar de ltimo // si la lista est vaca ser el primer elemento mi_lista.add("elemento 1");

2. La segunda forma sera dndole una posicin especfica en la lista. Si por alguna razn el vamos a insertar el elemento es una posicin donde ya existe un elemento, ste elemento ser desplazado a la derecha (junto con todos los dems que estn tambin a la derecha) para darle campo al elemento que ser insertado en dicho ndice:

1// instanciamos un nuevo ArrayList 2ArrayList mi_lista = new ArrayList(); 3 4// agregamos el elemento, por defecto lo agregar de ltimo 5mi_lista.add(1, "elemento A");

Eliminar elementos
Para eliminar elementos se dispone del mtodo remove() en el cual recibe como argumento el objeto a eliminar o bien, eliminar el elemento conociendo su 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

1
Persona persona_1 = new Persona("Julian", 20);

2 3 4 5 6 7 8 9

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);

10 mi_lista.add(persona_3); 11 12 13 14 15
// 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] // la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Bety] 2 = [Marta]

Marta ha pasado a la posicin 1, ya que la lista forza a correr todos los elemenetos a al izquieda para que ocupe ese espacion eliminado, entonces el tamao de la lista se reduce a 2 elementos nicamente Eliminado segn el objeto como argumento 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 le mismo elemento, para que deba ser igual deber tener la misma instancia y/o la misma posicin en memoria
? 1 Persona persona_1 = new Persona("Julian", 20); 2 Persona persona_2 = new Persona("Bety", 17); 3 4 5 6 7 8
ArrayList mi_lista = new ArrayList(); Persona persona_3 = new Persona("Marta", 22);

// agregamos unos cuantos elementos mi_lista.add(persona_1); mi_lista.add(persona_2);

9 mi_lista.add(persona_3); 10// la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Bety] 2 = [Marta]

11 12// si queremos eliminar a "Julian" debemos "enviarle a Juan" de nuevo 13mi_lista.remove(persona_1) // se envia la instancia de Juan 14 15
// la estructura de a lista ha quedado asi: 0 = [bety] 1 = [Marta]

Otras funciones importantes


Tamao Para determinar la cantidad de elementos de la lista solo se llama al metodo size()
? 1int total = mi_lista.size();

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

Si un objeto ya existe en la lista 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
? 1boolean existencia = mi_lista.contains(elObjetoBuscado);

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

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

El ndice de un objeto El uso del IndexOf(Object o) retorna la posicin de un elemento que est en el array.
?

Persona a = new Persona ("Juan");

2mi_lista.add(a); 3Persona b = new Persona ("Marta"); 4mi_lista.add(b); 5Persona c = new Persona ("Andrea"); 6mi_lista.add(c); 7 8 9
//retorna 2 int indice = mi_lista.indexOf(b);

Combinar dos ArrayList en uno La funcin addAll(Collection c) 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.
? 1ArrayList otra_lista = new ArrayList(); 2Persona d = new Persona ("Carlos"); 3otra_lista.add(d); 4Persona e = new Persona ("Samuel"); 5otra_lista.add(e); 6 7
mi_lista.addAll( otra_lista );