Está en la página 1de 3

COLECCIONES EN JAVA

Las colecciones en JAVA son una representación de un grupo de objetos,


mejor conocidos como elementos. Al querer trabajar con ellos se necesita un
almacén donde poder guardarlos empleando una interfaz genérica llamada
“Collection”. Gracias a esto se puede almacenar cualquier tipo de objeto y
usarlo en una serie de métodos comunes, tanto como añadir, eliminar, etc.

TIPOS DE COLECCIONES:
1. COLECCIÓN SET
Esta interfaz es una colección que no contiene elementos duplicados,
sino, elementos heredados del COLECTION insertando restricciones
acerca de los elementos duplicados, es decir, dichos elementos están
prohibidos. Cabe mencionar que, para la verificación de estos, siendo o
no elementos duplicados, es fundamental que tengan implementado un
hashCode y Equals de forma correcta. Para su comprobación, se
tomarán en cuenta todos los elementos que componen los SET sin
importar el orden que ocupen.

Dentro de esta interfaz existen diferentes tipos de implementación dentro


de la plataforma de JAVA.
 HashCode
Almacena en una tabla hash. Ello es la de mejor rendimiento, pero
no garantiza ningún orden al momento de realizar las interacciones.
Es la más usada gracias a su funcionalidad y, por lo común, el orden
de los elementos ingresados no importa. Además, proporciona
tiempos constantes en las operaciones básicas siempre y cuando la
función hash disperse de forma de forma adecuada los elementos
dentro de la tabla hash. No obstante, el definir el tamaño inicial de la
tabla es crucial ya que esto marcará el rendimiento y funcionalidad
de la implementación usada.
 TreeSet
almacena elementos ordenándolos en función a sus valores. Su
respuesta o funcionalidad es más tardía comparado al HashSet.
Para el almacenamiento de elementos se debe implementar una
interfaz llamada Comparable que garantizará, sin excepción alguna,
un rendimiento de “log(N)” en operaciones básicas gracias a su
estructura de árbol empleada para el almacenamiento de elementos.
 LinkedHashSet
Almacena elementos según el orden de ingreso. Es más tedioso que
el HashSet.
2. COLECCIÓN LIST
A comparación de interfaz anterior, esta si admite elementos duplicados.
Se define como una sucesión de elementos. Además, hereda métodos
de Colection, añadiendo que mejoran los siguiente:
- Acceso posicional: manipula elementos en función a la posición de la
lista.
- Búsqueda: busca un elemento concreto de la lista y lo devuelve a su
posición original.
- Interación: mejora el interator por defecto.
- Rango de operación: realiza algunos tipos de operaciones sobre
rangos de elementos de la propia lista.
Al igual que en la interfaz anterior, esta también tiene diferentes tipos de
implementaciones, las cuales son:
 ArrayList
Implementación típica y básica, es la más usada. Depende de un
“array” que se puede redimensionar a medida que aumenta el
tamaño según crece la colección de elementos.
 LinkedList
Mejora el rendimiento en ciertas ocasiones. Se basa en una lista
doblemente enlazada donde los elementos, teniendo un puntero al
interior y posterior de cada uno de los elementos.
Ninguna de las implementaciones mencionadas anteriormente se puede
sincronizar, es decir, no garantiza el estado del List si dos o más hilos
acceden al mismo tiempo.

3. COLECCIÓN MAP
Asocia claves a valores. No contiene claves duplicadas y cada una de
ellas solo puede tener un valor asociado como máximo.

Dentro de esta, al igual que en las anteriores, también contiene varios


tipos de implementaciones.
 HashMap
Almacena claves en una tabla “hash”. Tiene mucho mejor
rendimiento que las anteriores mencionadas, pero asegura el orden
al momento de realizar las interacciones. Proporciona tiempos
ininterrumpidos en las operaciones básicas siempre y cuando la
función “hash” disperse de manera adecuada los elementos dentro
de la tabla “hash”. Es crucial definir el tamaño inicial de la tabla ya
que de este depende el rendimiento de la implementación.
 TreeMap
Almacena claves ordenándolas en función a sus valores. A
comparación del HashMap, esta es mucho más lento. Lo
almacenado se implementa en la interfaz Comparable. Además,
garantiza un rendimiento óptimo de log(N) en las operaciones
básicas gracias a la estructura de árbol empleada para el
almacenamiento de elementos.
 LinkedHashMap
Almacena claves en función al orden de inserción, siendo esta un
poco más tediosa que el HashMap.

También podría gustarte