Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autor: Programación II
DTE/ETSIST/UPM
Índice
Colecciones de Java.
List (listas) Estudiaremos
principalmente
Stack
Queue
Set (Conjuntos)
Map (mapas –Estructuras asociativas)
Algoritmos de gestión de colecciones.
Programación 2 2
Programación II
Autor: Programación 2
Deitel&Deitel. Java: how to program (9th ed.) Capítulo 20. Generic Collections. Apartado 20.5. Interface Collection
and Class Collections y Apartado 20.7. Collections Methods -
Colecciones de Java
Programación 2 4
Colecciones de Java
El núcleo del entorno Java Collections Fram ew ork está formado por
tres elementos:
Programación 2 5
Estructura de interfaces
«interface»
java.util Collection
«interface» «interface»
ArrayList Vector LinkedList PriorityQueue HashSet SortedSet LinkedHashSet HashMap SortedMap LinkedHashMap
Programación 2 6
Estructura de interfaces
Programación 2 7
Estructura de interfaces
Programación 2 8
Métodos de Collection
9
Estructura de interfaces
Programación 2 10
Operaciones de Collection
boolean isEmpty();
Programación 2 11
operaciones con Colecciones
// Bulk operations
boolean containsAll (Collection<?> c);
boolean addAll (Collection<? extends E> c);//optional
boolean removeAll (Collection<?> c); //optional
boolean retainAll (Collection<?> c); //optional
void clear(); //optional
// Array operations
Object[] toArray();
<T> T[] toArray (T[] a);
Programación 2 12
Recorrer una colección Java.
Programación 2 13
Iterator.Ejemplos.
Unidad 4. Lista
Autor: Programación2
Deitel&Deitel. Java: how to program (9th ed.) Capítulo 20. Generic Collections. Apartado 20.. Lists
Programación 2
Listas
Programación 2 16
Listas: Interfaz
La lista permite obtener objetos de tipo iterator más sofisticados que los de
las colecciones genéricas a través del método listIterator
ListI terator<E> es una interface que permiten recorrer una lista en ambas
direcciones, modificar la lista durante el recorrido y acceder en cada instante
a un elemento de la misma:
Programación 2 18
Listas
«interface»
List
Implementan
la interfaz
ArrayList LinkedList
Programación 2 19
Ejemplo lista 1. Lectura de teclado y escritura orden inverso
Programación 2 21
Ejemplo listas 3. Modifica la edad de una Persona
/**
* Modifica la edad de una persona de una lista.
* @param lista. Lista de personas.
* @param persona. Persona cuya edad se va a modificar.
* @param nuevaEdad. Nueva edad de la persona buscada.
*/
Unidad 4. Stack
Autor: Programación 2
Deitel&Deitel. Java: how to program (9th ed.) Capítulo 20. Generic Collections.
Apartado 20.8. Stack Class of Package java.util
Programación 2
Stack
Esta clase a través de Vector heredera métodos de la interfaz de lista (iterator y listIterator)
Programación 2 24
Stack
Programación 2 26
Programación II
Unidad 4. Set
Autor: Programación2
Deitel&Deitel. Java: how to program (9th ed.) Capítulo 20. Generic Collections. Apartado 20.10. Sets
Programación 2
Interfaz Set
Programación 2 28
Interfaz Set
Implementan la interfaz
Programación 2 30
HashSet/LinkedHashSet
Programación 2 31
Tabla hash
32
Ejemplo Set 1: Elimina repetidas
import java.util.*;
public class BuscarDuplicados {
/** Dada una secuencia de palabras, guarda en un conjunto las que
no están repetidas y muestra las que están repetidas.
@param args Secuencia de palabras a analizar.
*/
public static void main(String args[])
{
Set<String> dup = new HashSet<String>();
Set<String> words = new HashSet<String>();
for (int i=0; i<args.length; i++)
if ( !words.add(args[i])) mejor así
dup.add(args[i]);
System.out.println("Repetidas: "+dup);
}
for (String e: dup){
}
System.out.println(e);
}
Resultado:
C:\java\pruebas>java BuscarDuplicados uno dos tres uno ¿Qué hacer para mostrar las no
repetidas?
Repetidas: [uno]
Programación 2 33
Ejemplo Set 2: Conjunto de personas. Definición de Persona
Programación 2 34
Ejemplo 2 : Conjunto de Personas. Lectura del conjunto
Programación 2 35
Ejemplo 3: Borrar una persona de un conjunto
Programación 2 36
Programación II
Unidad 4. Mapas
Autor: Programación 2
Deitel&Deitel. Java: how to program (9th ed.) Capítulo 20. Generic Collections. Apartado 20.11. Maps
Programación 2
Interface Map
Programación 2 38
Interface Map
40
Map. Vistas
Programación 2 41
Map. Ejemplos de Vistas
Programación 2 42
Map. Ejemplos de Vistas
Programación 2 43
Bibliografía
[1]
Paul Deitel - Deitel & Associates, Inc.; Harvey Deitel - Deitel &
Associates, Inc., Java™: ¿Cómo programar? Novena edición., Prentice
Hall, 2011.
[2]
K. Sierra y B. Bates, Head First Java, 2nd Edition, O'Reilly Media, Inc.,
2005.
Programación 2 44