Array List

29

Transcript of Array List

Page 1: Array List
Page 2: Array List

Interface List

Page 3: Array List

Introducción

Las aplicaciones frecuentemente necesitan almacenar un grupo de datos en un sólo objeto. Los arrays sirven bien para este propósito, pero algunas veces necesitamos incrementar o reducir dinámicamente el número de elementos del array, o hacer que contenga distintos tipos de datos.

Page 4: Array List

Introducción

Esto es común entre las aplicaciones como las tiendas online. Un cliente añade una mercancía a su carro de la compra, y detrás de la escena, los ítems son almacenados y eliminados automáticamente.

Page 5: Array List

¿Qué es Interface

List?

Page 6: Array List
Page 7: Array List

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 tamaño es dinámico, es decir, esta lista crecerá a medida que se inserten en ella más 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).

Page 8: Array List

ArrayList

Una lista se diferencia de un menú desplegable porque son estáticas (no se despliegan). 

Las listas (List) aparecen en los interfaces de usuario para facilitar a los operadores la manipulación de muchos elementos. Se crean utilizando métodos similares a los de los botones Choice. La lista es visible todo el tiempo, utilizándose una barra de desplazamiento para visualizar los elementos que no caben en el área que aparece en la pantalla.

Page 9: Array List

ArrayList

ArrayList tiene varios constructores, dependiendo de cómo necesitemos construir el ArrayList . Los siguientes dos constructores nos ayudarán a empezar:

Page 10: Array List

ArrayList

ArrayList() construye un ArrayList con capacidad cero por defecto, pero crecerá según le vayamos añadiendo: 

ArrayList al = new ArrayList();

ArrayList(int initialCapacity) construye un ArrayList vacío con una capacidad inicial especificada: 

ArrayList al2 = new ArrayList(5);

Page 11: Array List

ArrayList

Un objeto ArrayList sólo contiene referencias a objetos. Para almacenar tipos primitivos como double , long , o float , usamos una clase envoltura. Para añadir objetos al ArrayList , llamamos a sus métodos con el operador punto:

Page 12: Array List

ArrayList

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

Page 13: Array List

ArrayList

Si necesitamos circular a través de los elementos del ArrayList , usamos la clase Iterator y sus métodos hasNext y next :

Iterator alIt = al.iterator(); while (alIt.hasNext()) { System.out.println(alIt.next() + " "); }

Page 14: Array List

ArrayList

ArrayList es una de las muchas clases del Collection Framework, que proporciona un conjunto de interfaces y clases bien-diseñados para almacenar y manipular grupos de datos como una sola unidad, una colección.

Page 15: Array List

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.

Page 16: Array List

Agregar elementos

1 // instanciamos un nuevo ArrayList2 ArrayList mi_lista = new ArrayList();34 // agregamos el elemento, por defecto

lo agregará de último5 mi_lista.add("elemento 1");

Page 17: Array List

Agregar elementos

1 // instanciamos un nuevo ArrayList2 ArrayList mi_lista = new ArrayList();34 // agregamos el elemento, por defecto

lo agregará de último5 mi_lista.add(1, "elemento A");

Page 18: Array List

Eliminar elementos

Para eliminar elementos se dispone del método remove(…) en el cual se recibe como argumento el objeto o eliminar el elemento conociendo su índice.

Page 19: Array List

Eliminar elementos

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

2 Persona persona_2 = new Persona("Betty", 17);

3 Persona persona_3 = new Persona("Marta", 22);

45 ArrayList mi_lista = new ArrayList();67 // agregamos unos cuantos elementos

8 mi_lista.add(persona_1);

Page 20: Array List

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]1213 // si queremos eliminar a "Betty" por su

índice seria así:

14 mi_lista.remove(1) // el 1 pertenece al índice o posición de Betty en la lista

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

Page 21: Array List

Eliminar elementos

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

2 Persona persona_2 = new Persona("Betty", 17);

3 Persona persona_3 = new Persona("Marta", 22);

45 ArrayList mi_lista = new ArrayList();67 // agregamos unos cuantos elementos

8 mi_lista.add(persona_1);

Page 22: Array List

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]1213 // si queremos eliminar a "Julian" debemos

"enviarle a Julian" de nuevo

14 mi_lista.remove(persona_1) // se envía la instancia de Julian

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

Page 23: Array List

Definiciones

Para determinar la cantidad de elementos de la lista solo se llama al método 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();

Page 24: Array List

Definiciones

Para saber si un objeto está 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 está vacía, es decir, si no tiene elementos usamos isEmpty(…) que devuelve true si NO hay elementos o un false si contiene algún elemento.

1 boolean vacía = mi_lista.isEmpty();

Page 25: Array List

Definiciones

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

Page 26: Array List

Ventajas de la ArrayList

El cambio de tamaño automático. Cómodo de usar. ArrayList tiene métodos que añadir,

insertar y eliminar una serie de elementos.

Fácil de crear un thread-safe ArrayList utilizando el método sincronizado .

Page 27: Array List

Desventajas de la ArrayList

ArrayList se limita a una sola dimensión, con un límite inferior de cero , (pero puede ser utilizado para almacenar objetos , podemos utilizar esta función para hacer la ArrayList multi-dimensional (virtual)).

ArrayList se limita a acumular sólo objetos.

En cuanto al rendimiento, es lento.

Page 28: Array List

Conclusión

Page 29: Array List

¡Muchas Gracias!