Colecciones en Java
¿Qué son las colecciones?
Tipos
SET
HASHSET
Es una implementación de la interfaz Set que no permite elementos duplicados. Utiliza una función hash para almacenar los elementos, lo que proporciona un acceso rápido y eficiente. No garantiza un orden específico de los elementos.
Almacena los elementos en una tabla hash
Es la implementación con mejor rendimiento de todas
No garantiza ningún orden a la hora de iterar. El orden puede cambiar durante la ejecución del programa.
No permite elementos duplicados. Al intentar agregar un elemento duplicado, se reemplaza el existente.
Permite valores nulos
Estructura
Ejemplo
TREESET
Es una implementación de la interfaz SortedSet que almacena elementos ordenados en orden ascendente. Utiliza una estructura de árbol para lograr un acceso rápido y mantener los elementos ordenados. Los elementos deben ser comparables o se debe proporcionar un comparador personalizado.
Almacena los elementos en orden ascendente según el orden natural de los elementos o mediante un comparador personalizado
Es más lento que HASHSET
No permite elementos duplicados.
NO permite valores nulos
Los elementos almacenados deben de implementar la interfaz Comparable
Estructura
Ejemplo
LINKEDHASHSET
Es una implementación de la interfaz Set que mantiene el orden de inserción de los elementos. Combina un hash table con una lista doblemente enlazada para mantener el orden. Proporciona un acceso rápido y mantiene el orden de inserción, pero no permite elementos duplicados
Almacena los elementos orden de inserción de los elementos, lo que significa que el orden en que se agregan los elementos se mantiene constante.
Es más lento que HASHSET
No permite elementos duplicados.
Permite valores nulos
Los elementos almacenados deben de implementar la interfaz Comparable
Estructura
Ejemplo
LIST
ARRAYLIST
Es una implementación de la interfaz List que utiliza un arreglo dinámico para almacenar elementos. Permite el acceso rápido a los elementos por índice, pero puede ser costoso en términos de rendimiento al realizar inserciones o eliminaciones en posiciones intermedias.
Implementado mediante un arreglo dinámico, lo que permite un acceso aleatorio eficiente a los elementos.
Permite elementos duplicados
Permite valores nulos
Estructura
Ejemplo
LINKEDLIST
Implementado mediante una lista doblemente enlazada, lo que permite un acceso rápido a los elementos en los extremos de la lista
Permite elementos duplicados
Permite valores nulos
Estructura
Ejemplo
MAP
HASHMAP
Es una implementación de la interfaz Map que almacena pares clave-valor. Utiliza una función hash para acceder rápidamente a los valores correspondientes a una clave. No garantiza un orden específico de los elementos
Almacena los pares clave-valor en una tabla hash, lo que permite un acceso rápido a los valores a través de las claves.
No garantiza un orden específico para los pares clave-valor. El orden puede cambiar durante la ejecución del programa.
Permite una clave nula y múltiples valores nulos.
Estructura
Ejemplo
TREEMAP
Es una implementación de la interfaz SortedMap que almacena pares clave-valor ordenados por la clave. Utiliza una estructura de árbol para lograr un acceso rápido y mantener los elementos ordenados. Las claves deben ser comparables o se debe proporcionar un comparador personalizado
Mantiene los pares clave-valor ordenados según el orden natural de las claves o mediante un comparador personalizado.
No permite claves duplicadas. Al intentar agregar una clave duplicada, se reemplaza el valor existente.
No permite claves nulas
Permite múltiples valores nulos.
Estructura
Ejemplo
LINKEDHASHMAP
Es una implementación de la interfaz Map que mantiene el orden de inserción de los elementos. Combina un hash table con una lista doblemente enlazada para mantener el orden. Proporciona un acceso rápido y mantiene el orden de inserción
Mantiene el orden de inserción de los pares clave-valor, lo que significa que el orden en que se agregan se mantiene constante.
No permite claves duplicadas. Al intentar agregar una clave duplicada, se reemplaza el valor existente.
Permite una clave nula y múltiples valores nulos.
Estructura
Ejemplo
Last updated