Estudiante
Pedro Corcuera
Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria
corcuerp@unican.es
Objetivos
• Conocer y justificar el uso de las clases Collection • Aprender a usar colecciones
Java
2
Índice
• • • • Qué son y porqué las colecciones Núcleo de interfaces de colecciones Implementaciones Algoritmos
Java
3
Qué es una colección?• Un objeto ″collection″, también llamado contenedor, es un objeto que agrupa múltiples elementos en una sola unidad. • Las colecciones se usan para almacenar, recuperar, manipular y comunicar datos agregados
– Típicamente, representan datos que forman un grupo natural. Por ejemplo: colección de naipes, colección de cartas, lista de nombres y números (guía telefónica)
Java
4
Qué esuna estructura collection? • Una estructura collection es una arquitectura unificada para representar y manipular colecciones • Todas las estructuras de colecciones contienen lo siguiente:
– Interfaces – Implementaciones – Algoritmos
Java
5
Beneficios de la estructura collection Reduce el esfuerzo de programación Incrementa la velocidad y calidad de un programa Permiteinteroperabilidad entre APIs no relacionadas Reduce el esfuerzo para aprender y usar nuevas APIs • Reduce el esfuerzo para diseñar nuevas APIs • Fomenta la reutilización de software • • • •
Java
6
Interfaces de la estructura collection • Las interfaces Collection son tipos de datos abstractos que representan colecciones • Las interfaces permiten a las colecciones ser manipuladas independientemente delos detalles de representación
– Comportamiento polimórfico
• En Java, y otros lenguajes orientados a objetos, las interfaces forman una jerarquía
– Uno selecciona la que cumple las necesidades como tipo
Java
7
Implementaciones de la estructura collection • Son las implementaciones concretas de las interfaces, que son estructuras de datos reusables • Hay varios tipos deimplementaciones:
– – – – – – Implementaciones de propósito general. Implementaciones de propósito especial Implementaciones concurrentes Implementaciones envolventes Implementaciones de conveniencia Implementaciones abstractas
Java
8
Implementaciones de propósito general
Interfaces Hash table Set List Queue Map HashMap TreeMap LinkedHashMap HashSet ArrayList Implementaciones Resizable array TreeTreeSet LinkedList Linked list Hash table + Linked list LinkedHashSet
Java
9
Algoritmos • Son métodos polimórficos que realizan computaciones útiles en objetos que implementan las interfaces collection • Los algoritmos más comunes son:
– Ordenamiento (sorting) – Barajar (shuffling) – Manipulaciones de rutina (invertir, rellenar, copiar, intercambiar, añadir) – Búsqueda (searching) –Composición (frequency, disjoint) – Valores extremos (min, max, etc.)
Java
10
Núcleo de Interfaces Collection • El núcleo de interfaces Collection encapsula diferentes tipos de colecciones que permite la manipulación de colecciones independiente de los detalles de representación • Jerarquía:
Java
11
Núcleo de Interfaces Collection • Todas las colecciones son genéricas. Ejemplo dedeclaración:
public interface Collection... donde E es el tipo de objeto contenido en la colección
• La interface Collection proporciona la funcionalidad básica común a las colecciones, tales como métodos add y remove. • La interface Map crea una correspondencia las llaves y valores
Java
12
Interface Collection • Es la raíz de la jerarquía de colecciones • Es el denominador común que todaslas colecciones implementan • Se usa para pasar colecciones de objetos (elementos) y manipularlos
Java
13
Interface Collection
public interface Collection extends Iterable { // Basic operations int size(); boolean isEmpty(); boolean contains(Object element); boolean add(E element); //optional boolean remove(Object element); //optional Iterator iterator(); // Bulk operations boolean...
Regístrate para leer el documento completo.