Sei sulla pagina 1di 17

2_2_2 Arraylist y operadores

Apoyo SSD3

La Clase ArrayList
La

clase java.util.ArrayList<E> implementa una coleccin de objetos que puede crecer para alojar nuevos elementos cuando la coleccin est llena. Los objetos contenidos en el ArrayList pueden ser accedidos utilizando un ndice entero.

Mtl Lourdes Cahuich

Mtodos

ArrayList(). Construye una coleccin vaca. int size(). Regresa el nmero de objetos en la coleccin. boolean isEmpty(). Determina si no hay objetos en la coleccin. boolean contains(Object elem). Determina si el objeto especificado es un elemento de la coleccin (tal como lo determina el mtodo equals). boolean add(E o). Aade el objeto especificado al final de la coleccin. void add(int index, E element). Inserta el objeto especificado en la posicin especificada por el ndice, moviendo cualquier elemento subsiguiente a la derecha (incrementa sus ndices en uno).
Mtl Lourdes Cahuich 3

Mtodos

E get(int index). Regresa el objeto encontrado en la posicin especificada. public E set(int index, E element). Reemplaza el elemento de la posicin especificada por el ndice. public boolean remove(Object o). Elimina la primera ocurrencia del objeto especificado (utilizando el mtodo equals), recorriendo los elementos subsiguientes a la izquierda (resta uno a sus ndices). E remove(int index). Regresa el objeto de la posicin especificada, despus de eliminarlo de la coleccin y de mover cualquier elemento subsiguiente a la izquierda (resta uno a sus ndices).
Mtl Lourdes Cahuich 4

Ejemplo
ArrayList<Employee> employees = new ArrayList<Employee>(); employees.add(new Employee("John Smith")); employees.add(new Employee("Mary Williams")); employees.add(new Employee("Peter Jefferson")); Employee firstEmployee = employees.get(0);
Mtl Lourdes Cahuich 5

Iteradores
El mtodo iterator de la clase ArrayList regresa un objeto java.util.Iterator<E> sobre los elementos de la coleccin. Un iterador es un objeto que se utiliza para recorrer una coleccin de principio a fin. Adems, el uso de iteradores permite eliminar elementos de la coleccin de forma segura durante el recorrido.

Mtl Lourdes Cahuich

Mtodos de la clase java.util.Iterator<E>


hasNext() Regresa true si la iteracin tiene ms elementos. E next(). Regresa el siguiente elemento de la iteracin. void remove(). Elimina de la coleccin el ltimo elemento regresado por el iterador
boolean

Mtl Lourdes Cahuich

ArrayList<String> list = new ArrayList<String>(); list.add("ArrayList"); list.add(" and "); list.add("Iterators"); String result = ""; for (Iterator<String> listIterator = list.iterator(); listIterator.hasNext(); ) { result += listIterator.next(); } stdout.println(result);
Mtl Lourdes Cahuich 8

Utilizando Bucles For-Each en Colecciones


El

bucle for-each provee una manera sencilla para iterar sobre los elementos de una coleccin. En el bucle for-each se debe especificar la coleccin en donde se realizar la iteracin, y una variable para acceder a cada uno de los elementos

Mtl Lourdes Cahuich

ArrayList<String> list = new ArrayList<String>(); list.add("ArrayList"); list.add(" and "); list.add("for-each"); String result = ""; for (String element : list) { result += element; } stdout.println(result);
Mtl Lourdes Cahuich 10

Implementando Clases Colecciones


Como

se mencion anteriormente, una clase coleccin modela una relacin unoa-muchos. La relacin uno-a-muchos puede ser implementada utilizando un ArrayList para almacenar las instancias de la coleccin. Adems, la clase provee un grupo de mtodos para manejar la coleccin
Mtl Lourdes Cahuich 11

Mtl Lourdes Cahuich

12

En este diagrama:

La coleccin es almacenada en el atributo accounts de la clase Client . El mtodo addAccount almacena una instancia de la clase BankAccount en la coleccin. El mtodo getAccountsIterator regresa un iterador sobre las cuentas de banco de la coleccin. El mtodo getNumberOfBankAccounts regresa el nmero de cuentas de banco en la coleccin.
Mtl Lourdes Cahuich 13

Mtl Lourdes Cahuich

14

Mtl Lourdes Cahuich

15

Mtl Lourdes Cahuich

16

La

clase Client utiliza un ArrayList para implementar la coleccin de objetos BankAccount. clase implemente la interfaz Iterable<BankAccount>, provee el mtodo addAccount para aadir un objeto BankAccount a la coleccin, y provee el mtodo iterator para acceder a los objetos BankAccount almacenados en la coleccin.
Mtl Lourdes Cahuich 17

La

Potrebbero piacerti anche