Sie sind auf Seite 1von 29

Introduccin

Las aplicaciones frecuentemente necesitan almacenar un grupo de datos en un slo objeto. Los arrays sirven bien para este propsito, pero algunas veces necesitamos incrementar o reducir dinmicamente el nmero de elementos del array, o hacer que contenga distintos tipos de datos.

Introduccin
Esto es comn entre las aplicaciones como las tiendas online. Un cliente aade una mercanca a su carro de la compra, y detrs de la escena, los tems son almacenados y eliminados automticamente.

ArrayList
La clase ArrayList (Java.util) es un objeto lista que implementa 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 (CERO), es decir, el primer elemento del ArrayList tiene como ndice el 0 (CERO).

ArrayList
Una lista se diferencia de un men desplegable porque son estticas (no se despliegan). Las listas (List) aparecen en los interfaces de usuario para facilitar a los operadores la manipulacin de muchos elementos. Se crean utilizando mtodos similares a los de los botones Choice. La lista es visible todo el tiempo, utilizndose una barra de desplazamiento para visualizar los elementos que no caben en el rea que aparece en la pantalla.

ArrayList
ArrayList tiene varios constructores, dependiendo de cmo necesitemos construir el ArrayList . Los siguientes dos constructores nos ayudarn a empezar:

ArrayList
ArrayList() construye un ArrayList con capacidad cero por defecto, pero crecer segn le vayamos aadiendo: ArrayList al = new ArrayList(); ArrayList(int initialCapacity) construye un ArrayList vaco con una capacidad inicial especificada: ArrayList al2 = new ArrayList(5);

ArrayList
Un objeto ArrayList slo contiene referencias a objetos. Para almacenar tipos primitivos como double , long , o float , usamos una clase envoltura. Para aadir objetos al ArrayList , llamamos a sus mtodos con el operador punto:

ArrayList
al.add("Java Technology Book"); //Agrega a una cadena de caracteres al.add(new Double(40.00)); // aade double en un contenedor de clase System.out.println(al.size()); //imprime el tamao de la clase ArrayList

ArrayList
Si necesitamos circular a travs de los elementos del ArrayList , usamos la clase Iterator y sus mtodos hasNext y next : Iterator alIt = al.iterator(); while (alIt.hasNext()) { System.out.println(alIt.next() + " "); }

ArrayList
ArrayList es una de las muchas clases del Collection Framework, que proporciona un conjunto de interfaces y clases bien-diseados para almacenar y manipular grupos de datos como una sola unidad, una coleccin.

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.

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

Agregar elementos
2
1 2 3 4 5 // 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 del mtodo remove() en el cual se recibe como argumento el objeto o eliminar el elemento conociendo su ndice.

Eliminar elementos
1 1 2 3 4 5 6 7 8
Persona persona_1 = new Persona("Julian", 20); Persona persona_2 = new Persona("Betty", 17); Persona persona_3 = new Persona("Marta", 22);

ArrayList mi_lista = new ArrayList();

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

Eliminar elementos
9 mi_lista.add(persona_2); 10 mi_lista.add(persona_3); 11 // la estructura de la lista ha quedado as: 0 = [Julian] 1 = [Betty] 2 = [Marta]

12 13 // si queremos eliminar a "Betty" por su ndice seria as: 14 mi_lista.remove(1) // el 1 pertenece al ndice o posicin de Betty en la
lista

15 // la estructura de la lista ha quedado as: 0 = [Julian] 1 = [Marta]

Eliminar elementos
1 1 2 3 4 5 6 7 8
Persona persona_1 = new Persona("Julian", 20); Persona persona_2 = new Persona("Betty", 17); Persona persona_3 = new Persona("Marta", 22);

ArrayList mi_lista = new ArrayList();

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

Eliminar elementos
9 mi_lista.add(persona_2); 10 mi_lista.add(persona_3); 11 // la estructura de la lista ha quedado as: 0 = [Julian] 1 = [Betty] 2 = [Marta]

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

Definiciones
Para determinar la cantidad de elementos de la lista solo se llama al mtodo size() 1 int total = mi_lista.size(); Para Vaciar la lista y dejarla sin ningn elemento en ella se usa el mtodo clear () 1 mi_lista.clear();

Definiciones
Para saber si un objeto est insertado en lista usamos el mtodo 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 est vaca, es decir, si no tiene elementos usamos isEmpty() que devuelve true si NO hay elementos o un false si contiene algn elemento. 1 boolean vaca = mi_lista.isEmpty();

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

Ventajas de la ArrayList
El cambio de tamao automtico. Cmodo de usar. ArrayList tiene mtodos que aadir, insertar y eliminar una serie de elementos. Fcil de crear un thread-safe ArrayList utilizando el mtodo sincronizado .

Desventajas de la ArrayList
ArrayList se limita a una sola dimensin, con un lmite inferior de cero , (pero puede ser utilizado para almacenar objetos , podemos utilizar esta funcin para hacer la ArrayList multi-dimensional (virtual)). ArrayList se limita a acumular slo objetos. En cuanto al rendimiento, es lento.

Das könnte Ihnen auch gefallen