Tecnología

Inicio

La diferencia en el HashMap y HashSet

El lenguaje de programación Java tiene dos tipos de contenedores de datos pero similares distintos, el HashMap y el HashSet. Ambos utilizan una tabla hash para almacenar datos. Una tabla hash es una tabla de valores que utiliza una función hash para determinar dónde buscar y almacenar datos. Esto permite el acceso rápido a los datos debido a un valor no tiene que ser buscado. En su lugar, la función hash puede proporcionar la ubicación exacta del valor. A pesar de que ambos utilizan tablas hash, HashMap y HashSet son bastante diferentes entre sí.

mapas

Mapas de almacenar datos en las relaciones de clave y valor. Se dice que una clave para ser asignada a un valor. Un diccionario es un buen ejemplo de un contenedor de datos de mapa. La clave es la palabra que busca y el valor es la definición. Todos los datos en un mapa deben ser almacenados usando una clave única, pero puede haber varios valores idénticos.

conjuntos

Un conjunto es una colección de datos sin elementos duplicados. Por ejemplo, la secuencia de dígitos de 0 a 9 es un conjunto, pero la secuencia 0, 1, 1, 2, 3 no está ya se repite el dígito 1. Un conjunto no dispone de una relación de clave-valor como un mapa. Es simplemente un conjunto de valores que no son duplicados.

Actuación

El HashMap proporciona un rendimiento constante de tiempo para los métodos "get" y "put", que se utilizan para rellenar la estructura de datos. el rendimiento constante de tiempo significa que no importa lo grande que se convierte en la estructura de datos, estas operaciones siempre tendrán la misma cantidad de tiempo para llevar a cabo. El HashSet proporciona un rendimiento constante de tiempo para los métodos de "tamaño" "add", "eliminar", "contiene", y.

Características opcionales

El HashMap proporciona todas las operaciones de la clase de Java Mapa y el HashSet proporciona todas las operaciones de la clase de Java Set. Esto se debe a que tanto HashMap y HashSet son implementaciones de las clases de Java y conjunto, respectivamente.