Colecciones en Java

Taller de Programación en Java Colecciones en Java Colecciones en Java Definiciones Colección: Una colección es simple

Views 106 Downloads 4 File size 294KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Taller de Programación en Java

Colecciones en Java

Colecciones en Java Definiciones Colección: Una colección es simplemente un objeto que agrupa múltiples elementos en una única unidad. Framework de colecciones: Un framework de colecciones es una arquitectura unificada para representar y manipular colecciones. Todos los frameworks de colecciones poseen: ●

Interfaces Son tipos de datos abstractos que representan colecciones. Las interfaces permiten a las colecciones ser manipuladas independientemente de los detalles de su implementación.



Implementaciones Son las implementaciones concretas de las interfaces de las colecciones. Son estructuras de datos reusables.



Algoritmos Son métodos que realizan tareas útiles, tales como búsquedas y ordenamientos, sobre los objetos que implementan las interfaces de las colecciones.

Java Collections Framework (JCF) En Java 1.2 fue introducido Java Collections Framework (JCF) el cual proporciona las funcionalidades de un framework de colecciones, reemplazando a antiguas clases que poseían similares objetivos.

Jerarquía de las interfaces JCF Estas interfaces permiten a las colecciones ser manipuladas independientemente de los detalles de su implementación. Se podría decir que definen un comportamiento pero no el funcionamiento. ●

Collection (Colección) - Es la raíz de la jerarquía y representa un grupo de objectos (elementos) . Java no provee implementación para ésta interfaz.



Set (Conjunto) – Es una colección que no puede contener elementos duplicados. Es utilizada para representar conjuntos.



List (Lista) – Es una colección que puede contener elementos duplicados. Se utiliza para tener control sobre en que posición de la lista está cierto elemento y acceder a éste mediante un índice.



Queue (Cola) - Es una colección utilizada para mantener elementos antes de su procesamiento. Ademas de las operaciones básicas de una colección, provee operaciones adicionales de inserción, extracción y revisión



Map (Mapa) – Es un objeto que representa pares Clave-Valor. Un Map no puede mantener Claves duplicadas.

Pagina 1

Taller de Programación en Java

Colecciones en Java

Interfaz Collection Esta interfaz como vimos anteriormente es una de las raíces de la jerarquía. Representa un conjunto de objetos de una manera generalizada. Esta interfaz define una serie de métodos que serán los que el resto de interfaces, o clases que nosotros realicemos, deban implementar : 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 containsAll(Collection c); boolean addAll(Collection c); //optional boolean retainAll(Collection c); //optional void clear(); //optional // Array operations Object[] toArray(); T[] toArray(T[] a); }

Interfaz Set Un Set es una colección que no puede contener elementos duplicados. La interfaz Set tiene solo los métodos heredados de Collection con la restricción anteriormente dicha.

Implementaciones Java provee tres implementaciones ●

HashSet – Almacena elementos en una tabla hash, es la implementación de mejor rendimiento pero sus elementos no están ordenados y pueden variar su posición a lo largo del tiempo.



TreeSet – Almacena los elementos en un árbol , ordenados por su valores y es bastante mas lento que HashSet.



LinkedHashSet – Es implementada como una tabla hash en una lista enlazada, ordenando sus elementos a medida que fueron insertados.

Interfaz List Las listas pueden contener elementos duplicados. Sumados a las operaciones heredadas de Collection, la interfaz List incluye las siguientes operaciones:

Pagina 2

Taller de Programación en Java

Colecciones en Java

public interface List extends Collection { // Positional access E get(int index); E set(int index, E element); //optional boolean add(E element); //optional void add(int index, E element); //optional E remove(int index); //optional boolean addAll(int index, Collection