1. Universidad de Cuenca
Capitulo 17.5: Iteradores,
Listas y Conjuntos en Java
Nombre: María Gabriela Delgado.
Materia: Programación III.
Docente: Ing. Ángel Vázquez.
Fecha: 7 de Mayo de 2017
3. 1.1Enumeration
- Declara métodos que recorren una colección.
- Permite acceder a cada elemento de una colección.
- Forma parte del paquete java.util.
- hasMoreElements(): devuelve true si no se ha accedido a todos los
elementos de la colección.
- nextElement(): devuelve el siguiente elemento.
4. Vector, Stack, Dictionary, HashTable disponen del método elements() que
devuelve un tipo Enumeration, a partir del cual se puede recorrer la
colección. Su declaración es:
Para accede a cada elemento de una colección, se realiza los siguientes
paso:
1. Declarar una variable Enumeration.
Enumeration enumera;
2. Llamar al método elements() de la colección.
enumera = colección.elements();
3. Diseñar el bucle que obtiene y procesa cada elemento.
while (enumera.hasMoreElements){
elemento=(TipoElemento) enumera.nextElement();
}
5. 1.2 Iterator
- Todo objeto colección se puede recorrer con este iterador.
- Todas las colecciones tienen el método iterator() que devuelve un
objeto Iterator.
La interfaz Iterator permite no solo acceder a los elementos, sino también
eliminarlos.
6. Métodos Descripción
hasNext() Devuelve true si queda elementos no
visitado.
next() En la primera llamada devuelve el
primer elemento.
remove() Elimina de la colección el elemento
obtenido por la última llamada a
next().
7. 1.3 ListIterator
Es propio de las colecciones
que implementan la interfaz
List.
Permite recorrer una lista en
ambas direcciones y otras
funciones.
Se deriva de Iterator.
8. Métodos Descripción
hasNext() Devuelve true si queda elementos no
visitado.
next() En la primera llamada devuelve el
primer elemento.
hasPrevious() y previous() Recorre la lista en sentido inverso
hasPrevious() Devuelve true si hay un elemento
anterior.
previous() Devuelve el elemento anterior.
remove() Elimina el último elemento obtenido
por next() o previous().
set(Object q) Reemplaza el ultimo elemento
obtenido por next() o previous() por
add(Object q) Inserta q antes del elemento que
devolvería la llamada a next().
9. 2. INTERFAZ Collection
- Describe el comportamiento común de las colecciones.
- Es la raíz de la jerarquía de colecciones
- Existe tres tipos de colecciones descritas por los interfaces: List, Set y
Map.
- Collection declara métodos que serán implementados por las distintas
clases, aunque muchos de ellos están especificados que son
opcionales.
Métodos:
- Método para añadir: no están implementados en todas las
colecciones
Devuelve true si el método modifica la colección.
10. - Método para eliminar: permite eliminar un elemento en específico
(remove), o bien todos los elementos que coincidan con los de la otra
colección (removeAll) e incluso eliminar todos (clear), por otra parte
también se puede eliminar los elementos que no estén en otra
colección (retainAll).
- Método de búsqueda: verifica que un elemento este en la colección
(contains) o bien que todos los elementos estén en la otra colección
(containsAll) y por ultimo compara colecciones del mismo tipo (equals).
11. - Métodos de colección: el método toArray() devuelve un array con
todos los elementos de la colección. iterator() retorna un iterador sobre
los elementos de la colección. isEmpty() devuelve true si la colección
esta vacía, size() retorna el número de elementos en la colección.
3. Listas
- Agrupación lineal de elementos.
- Se añaden elementos por: la cabeza, el final o por cualquier punto.
- Se eliminan elementos uno a uno o todos los que estén en la
colección.
- Está representada por la interfaz List.
12. - Almacena cualquier tipo de elementos.
- Se puede acceder a cualquier elemento, insertar o borrar a partir del
índice en cualquier posición.
Constructores:
3.1 ArrayList
13. - También es posible crear una colección a partir de un vector:
14. Ejercicio Práctico
Realizar las operaciones
básicas de: añadir,
eliminar, buscar y
reemplazar en una
colección de tipo
ArrayList.
Método de añadir
18. 3.2 LinkedList
- Organiza los elementos de una colección a manera de una lista
doblemente enlazada.
- Posee dos constructor: crea una lista vacía y otro crea una lista con
los elementos de otra colección.
- Implementa la interfaz cloneable; las operaciones generales de las
listas y métodos específicos que operan sobre el primer y ultimo
elemento son:
19. Métodos Descripción
getFirst() Devuelve el primer elemento de la lista.
getLast() Devuelve el último elemento de la lista.
addFirst() Inserta el elemento al inicio de la lista.
addLast() Inserta el elemento al final de la lista.
removeFirst() Elimina y devuelve el primer elemento de
la lista.
removeLast() Elimina y devuelve el último elemento de
la lista.
24. 4. Conjuntos
- Se basa en el concepto matemático de conjunto.
- Hay dos tipos de implementaciones: en orden y en desorden.
4.1. AbstractSet:
4.2. HashSet:
25. Métodos Descripción
addAll() Unión de conjuntos: produce otro
conjunto con los elementos comunes y
comunes.
retainAll() Intersección de conjuntos: produce otro
conjunto con los elementos comunes.
removeAll() Diferencia de conjuntos: produce otro
conjunto con los elementos del conjunto
que no pertenecen al conjunto 1.
26. Ejercicio Práctico 3
Crear dos conjuntos de
enteros y realizar las
operaciones de
conjuntos: unión,
diferencia e
intersección.
Método unión
29. 4.3. TreeSet:
- Mantienen en orden a los elementos.
- Los elementos del conjunto se organizan en un árbol.
- Los métodos se encuentran en la interfaz SortedSet.
Métodos mas importantes SortedSet:
31. Ejercicio Práctico 4
Crear dos conjuntos
ordenados cuyos
elementos sean de tipo
String. Realizar
operaciones de: insertar,
eliminar y obtener un
subconjunto
Método insertar