recorrer ordenado metodos example entre diferencia diccionario java data-structures

ordenado - metodos de hashmap java



Diferencia entre un HashMap y un diccionario ADT (4)

Cuál es la diferencia entre un Hash Map y un diccionario ADT. Y cuando preferir uno sobre otro. Para mi asignación de programación, mi instructor me ha pedido que use uno de ellos, pero no veo ninguna diferencia entre ambos. Se supone que el programa funciona con un gran no. de cuerdas. ¿Alguna sugerencia?


En Java, HashMap implementa la interfaz Map mientras que el diccionario no. Eso hace que el diccionario sea obsoleto (de acuerdo con los documentos API). Es decir, ambos realizan una función similar, así que tienes razón en que parecen muy similares ... un HashMap es un tipo de diccionario.

Sin embargo, se recomienda usar el HashMap.


Esta publicación de hace un buen trabajo explicando las diferencias clave:

Java hashmap vs hashtable

Tenga en cuenta que Hashtable es simplemente una implementación del Dictionary ADT. También tenga en cuenta que Java considera que el diccionario es "obsolete" .

El hecho de que Hashtable esté sincronizado no te compra mucho para la mayoría de los usos. Use HashMap.


Map es una interfaz para un ADT en Java, la misma estructura de datos independiente del lenguaje general para mantener los pares <key, value> , y se presenta en Java 1.2.

El diccionario (no una implementación de Map) es una clase abstracta para el mismo propósito que se presentó anteriormente en JDK 1.0. La única subclase que tiene es Hashtable, que a su vez está implementando Map. Sin embargo, la clase de diccionario ahora está obsoleta y es posible que la olvide.

Existen diferencias entre los miembros de la función de Mapa y Diccionario, sin embargo, es posible que la diferencia entre HashMap y Hashtable sea más útil. here puedes encontrar las diferencias.


En términos de Java, tanto la clase HashMap como el Dictionary clase son implementaciones del tipo de datos abstractos "Mapa". Los tipos de datos abstractos no son específicos de ningún lenguaje de programación, y el ADT de mapas también se puede conocer como Hash, o un diccionario, o una matriz asociativa (otros en http://en.wikipedia.org/wiki/Associative_array ). (Tenga en cuenta que estamos haciendo una distinción entre la clase de Dictionary y el diccionario ADT).

La clase de Dictionary ha sido marcada como obsoleta, por lo que es mejor no usarla.