El lenguaje de programación Java tiene dos tipos de contenedores de datos distintos pero similares , el HashMap y 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 , porque 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 las dos tablas hash utilizando , HashMap y HashSet son muy diferentes unos de otros. Mapas
Mapas almacenan 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 está buscando y el valor es la definición. Todos los datos en un mapa deben ser almacenados con una clave única , pero puede haber varios valores idénticos .
Establece
Un conjunto es una colección de datos sin duplicar los elementos . Por ejemplo , la secuencia de dígitos del 0 al 9 es un conjunto , pero la secuencia 0 , 1 , 1 , 2 , 3 no es desde el dígito 1 se repite . Un conjunto no dispone de una relación de clave - valor como un mapa. Es simplemente una colección de valores que no son duplicados.
Rendimiento
HashMap proporciona un rendimiento constante de tiempo para el " get" y "put " métodos , que se utilizan para rellenar la estructura de datos. 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 realizar . El HashSet ofrece un rendimiento constante de tiempo para el "add ", " eliminar ", " contiene ", y métodos " tamaño" .
Opcional Características
HashMap proporciona toda de las operaciones de la clase Map Java y el HashSet ofrece todas las operaciones de la clase Set Java. Esto se debe tanto HashMap y HashSet son implementaciones de la Hoja de Java y Set clases , respectivamente .