lunes, 7 de marzo de 2011

5.- La clase ArrayList en Java

La clase ArrayList en Java

La clase ArrayList (java.util) es una objeto lista que implemente la interfaz Collection de java. Esta clase permite contener y ordenar objetos, incluso, puede almacenar objetos duplicados. Su tamaño es dinámico, es decir, esta lista crecerá a medida que se inserten en ella más elementos. Debe memos 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 de sincronizado, por lo tanto, un ArrayList se ejecuta más rápido que un Vector, ya que el ArrayList no tiene que implementar los métodos de sincronización de procesos.
Agregar elementos
El ArrayList contendrá diversos elementos que debemos gestionar, para agregar elementos, se puede hacer de dos formas usando el método add(…) que recibe por parámetro un objeto de tipo Object:
• La primera forma sería insertalo sin darle una posición específica, entonces, por defecto el elemento será agregado al final:
1 // instanciamos un nuevo ArrayList
2 ArrayList mi_lista = new ArrayList();
3
4 // agregamos el elemento, por defecto lo agregará de último
5 mi_lista.add("elemento 1");
• La segunda forma sería dandolé una posición específica en el la lista. Si se dá el caso de que el elemento que vamos a insertar en un índice donde ya hay un elemento, la lista, por definicion el elemento insertado y todos a la derecha de él se correrán una posición a la derecha:
1 // instanciamos un nuevo ArrayList
2 ArrayList mi_lista = new ArrayList();
3
4 // agregamos el elemento, por defecto lo agregará de último
5 mi_lista.add(1, "elemento A");
Eliminar Elementos
Para eliminar elementos se dispone de el método remove(…) en el cual se recibe como argumento el objeto (sí, el objeto) o eleminar el elemento conociendo su indice el índice (posición).
Para este ejemplo supongamos que tenemos una clase Persona, que tiene nombre y edad, insertaremos unos cuantas personas en la lista y luego eliminaremos una de ellas usando las dos formas

• Eliminado según su índice en la lista
01 Persona persona_1 = new Persona("Julian", 20);
02 Persona persona_2 = new Persona("Bety", 17);
03 Persona persona_3 = new Persona("Marta", 22);
04
05 ArrayList mi_lista = new ArrayList();
06
07 // agregamos unos cuantos elementos
08 mi_lista.add(persona_1);
09 mi_lista.add(persona_2);
10 mi_lista.add(persona_3);
11 // la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Bety] 2 = [Marta]
12
13 // si queremos eliminar a "Betty" por su índice seria asi:
14 mi_lista.remove(1) // el 1 pertenece al índice o posicion de Betty en la lista
15 // la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Marta]
11 // la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Bety] 2 = [Marta]
12
13 // si queremos eliminar a "Julian" debemos "enviarle a Juan" de nuevo
14 mi_lista.remove(persona_1) // se envia la instancia de Juan
15 // 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 metodo size()
1 int total = mi_lista.size();
• Para vaciar la lista y dejarla sin ningún elemento en ella se usa el método clear()
1 mi_lista.clear();
• Para saber si un objeto ésta insertado en lista usamos el método contains(…), el cual devuelve true si existe o un false si sucede lo contrario
1 boolean existencia = mi_lista.contains(elObjetoBuscado);
• Para saber si la lista esta vacía, es decir, si no tiene elementos usamos isEmpty() que devuelve true si hay elementos o un false si está vacía
1 boolean vacia = mi_lista.isEmpty();
• Para pasar o copiar los elementos a un arreglo de objetos (TipoObjeto objetos []) se usa el método toArray()
1 Object objetos [] = mi_lista.toArray();

No hay comentarios:

Publicar un comentario