Hola comunidad Steemit.. Vamos a analizar algunos de los principales tipos de colecciones que se encuentran en el api de java.
Todas las clase e interfaces que conforman el marco de trabajo de las colecciones, estas son llamadas estructuras de datos, estos marcos de trabajos permiten que se guarden, accedan, recuperen y manipulen los elementos de datos que en ellas contienen.
Las diferentes clases e interfaces que están disponibles en el marco de trabajo de las colecciones se encuentra en el paquete java.util
Se utiliza para dirigir las colecciones y manipularlas. Las clases concretas de colecciones proveen las implementaciones para la interfaz Collection, ciertas colecciones permiten elementos duplicados, mientras que otras no.
Esta se utiliza para guardar los elementos de un Set en una tabla hash, es importante notar que HashSet no garantiza el orden de sus elementos, esto porque el proceso hash usualmente no conduce a la creación de conjuntos ordenados.
Los elementos en esta interfaz están ordenados en orden ascendente, o en su orden natural según el comparator que se estableció durante la creación del objeto Set, un conjunto ordenado realiza comparaciones a través de su método compareTo.
Esta interfaz implementa la interfaz Set que garantiza el orden en la interacción, los objetos se ordenan en orden ascendente y se almacenan en la forma de un árbol de búsqueda binaria para que el acceso y recuperación de objetos sea fácil
TreeSet es una elección excelente cuando se almacenan grandes cantidades de información ordenada que necesita ser accedida rápidamente.
TreeSet es una de las 2 colecciones ordenadas, el otro es TreeMap, TreeSet utiliza una estructura de un árbol- rojo-negro, pero este garantiza que el orden será ascendente, según el orden natural.
A partir de Java 5 TreeSet implementa a NavigableSet
La clase TreeSet extiende a la clase AbstractSet e implementa las siguientes interfaces:
Una lista se preocupa por el índice, esta es una colección de elementos en un orden particular, también referida como una secuencia, una List puede contener elementos duplicados.
Esta interfaz extiende de la interfaz Collection y tiene un índice de elementos, este índice es un entero, y denota la posición de elementos en la lista, el índice también ayuda a incluir un nuevo elemento en la lista en la posición especifica requerida.
Sus principales métodos son:
Es ordenado por índice de posición como el ArrayList, excepto que los elementos están doblemente vinculados entre sí, la clase LinkedList poseen los métodos addFirst() y addLast(), para agregar elementos al inicio y final de la lista
Esta implementa operaciones básicas que se realizan con la estructura de una pila, la cual se basa en el principio del ultimo en entrar es el primero en salir.
En el mundo real existe situaciones donde se tiene 2 conjuntos de objetos, que están vinculados a través de alguna relación, se utilizan para mantener una colección de pares clave-valor, donde ambos la clave y el valor son objetos.
El Map le permite hacer cosas como buscar un valor sobre la base de la clave.
No es posible tener 2 claves duplicadas, sin embargo 2 claves diferentes pueden apuntar al mismo objeto.
Esta no garantiza el orden, cuando Ud. necesite un Map y no le interesa el orden al iterar a través de él, HashMap se basa en la clave hashCode, por lo que, al igual que HashSet es más eficiente su hashCode() mejor velocidad de acceso.
Una tabla hash es una estructura de datos que relaciona claves con valores, se utiliza bajo circunstancias donde un acceso secuencial no es necesario. Una tabla hash no usa tan intensamente la memoria comparada con los arreglos normales y los vectores.
Hashtable se escribe con (t) minúscula
hastable es sincronizada por lo tanto es la contraparte de HashMap. Recuerde que Ud. que cuando decimos Vector y Hashtable están sincronizadas.
Nota importante un HasMap le permite tener valores null así como clave, pero un Hashtable no lo permiten
Al igual que su homologo LinkedHashSet este mantiene el orden de inserción, a pesar que es más lento que HashMap para añadir y eliminar elementos.
Este es un Map ordenados, y ya Ud. sabe que por defecto es ordenado por el orden natural de los elementos.
TreeMap proporciona una implementación de la interfaz SortedMap que usa un árbol de búsqueda binario para el almacenamiento, se guardan los elementos en orden ascendente.
a partir de java 5 TreeMap implementa NavigableMap
Esta clase es nueva en java 5, las colas de base pueden ser atendidas con LinkedList, el objetivo de PriorityQueue adicionalmente cada elemento tiene una "prioridad" asociada. En una cola de prioridad, un elemento con alta prioridad se sirve antes que un elemento con baja prioridad.
Ud. Puede usar la clase PriorityQueue o la clase LinkedList para trabajar con colas
próximo post tendremos códigos de ejemplo y explicación
Gracias a todos por leer…