martes, 2 de junio de 2020

Java Collection Framework - JCF

La plataforma Java incluye un framework de colecciones. Este es una arquitectura unificada para representar y manipular colecciones, que permite que las colecciones se manipulen independientemente de los detalles de implementación.


Colecciones

Una colección es un objeto que representa un grupo de objetos (como la clásica clase "Vector").

Ventajas de su aplicación

  • Reduce el esfuerzo de programación al proporcionar estructuras de datos y algoritmos..
  • Aumenta el rendimiento al proporcionar implementaciones de alto rendimiento de estructuras de datos y algoritmos. Esto es debido a que las diversas implementaciones de cada interfaz son intercambiables asegurando que los programas se pueden ajustar cambiando las implementaciones.
  • Proporciona interoperabilidad entre API no relacionadas al establecer un lenguaje común para pasar colecciones de un lado a otro.
  • Reduce el esfuerzo requerido para aprender API al requerir que aprenda múltiples API de colección ad hoc.
  • Reduce el esfuerzo requerido para diseñar e implementar API al no requerir que produzca API de colecciones ad hoc.
  • Fomenta la reutilización del software al proporcionar una interfaz estándar para colecciones y algoritmos con los que manipularlos.


Organización

JCF se divide en dos grandes grupos de interfaces con sus respectivas interfaces que heredan de ellas:
  • java.util.Collection
    • java.util.Set
    • java.util.SortedSet
    • java.util.NavigableSet
    • java.util.Queue
    • java.util.concurrent.BlockingQueue
    • java.util.concurrent.TransferQueue
    • java.util.Deque
    • java.util.concurrent.BlockingDeque
  • java.util.Map
    • java.util.SortedMap
    • java.util.NavigableMap
    • java.util.concurrent.ConcurrentMap
    • java.util.concurrent.ConcurrentNavigableMap
Adicional a ello, tendremos múltiples clases que las implementarán como ArrayList, HashMap, LinkedList, HashSet, entre otros.

java.util.Map
Un mapa es un conjunto de objetos clave y una asignación de cada miembro de ese conjunto a un objeto de valor. La interfaz Map define una API para definir y consultar asignaciones. Map es parte del Java Collections Framework.


java.util.Collection
La agrupación dentro de una Colección puede o no permitir elementos duplicados y puede o no imponer un orden en los elementos.


Las interfaces Queue y BlockingQueue

Una cola (queue) es una colección ordenada de elementos con métodos para extraer elementos, en orden, del encabezado de la cola. Las implementaciones de colas se basan comúnmente en el orden de inserción como en las colas "primero en entrar, primero en salir" (FIFO) o en las colas de "último en entrar, primero en salir" (LIFO).





Fuentes:



No hay comentarios:

Publicar un comentario