Diferentes tipos de Map
Artículo por Club Developers · 20 mayo 2006
3069 vistas
El API propone cinco implementaciones concretas para los 'Map' (java.util.Map). Un Map permite crear un conjunto de parejas clave/valor (tambén llamados tablas asociativas), lo que permite que, mediante la clave, se encuentre rápidamente el valor asociado. Las claves son objetos únicos no NULL. Los valores pueden repetirse o, incluso, ser nulos.
java.util.HashMap:
La clase java.util.HashMap es la implementación más estándar adaptada a la mayorÃa de situaciones.
java.util.TreeMap:
La clase java.util.TreeMap añade una función de clasificado de las llaves del Map. El orden de las claves pueden escogerse dando una instancia de java.util.Comparator, sino se usará el el orden natural de llaves (que tienen que implementar java.lang.Comparable). Si tenemos gran cantidad de datos a añadir a la collection y el orden de las claves no es importante hasta después de la inserción, es más eficaz crear un HashMap para añadir los elementos y construir el TreeMap a partir del HasMap :
java.util.LinkedHashMap:
La clase java.util.LinkedHashMap conserva el orden de la inserción de las llaves.
java.util.IdentityHashMap:
La clase java.util.IdentityHashMap usa el operador '==' para saber si dos claves son idénticas.
java.util.WeakHashMap:
La clase java.util.WeakHashMap conserva las parejas usando referencias débiles, por lo tanto, si la clave no se usa en otro lado del programa, la pareja se borrará de forma automática de la collection (ver java.lang.ref.WeakReference).
java.util.Hashtable:
La clase java.util.Hashtable es una clase heredada de Java 1. Sólo se conserva por razones de compatibilidad y no deberÃa de usarse en aplicaciones nuevas. En todo caso, es preferible usar un HashMap.
java.util.HashMap:
La clase java.util.HashMap es la implementación más estándar adaptada a la mayorÃa de situaciones.
java.util.TreeMap:
La clase java.util.TreeMap añade una función de clasificado de las llaves del Map. El orden de las claves pueden escogerse dando una instancia de java.util.Comparator, sino se usará el el orden natural de llaves (que tienen que implementar java.lang.Comparable). Si tenemos gran cantidad de datos a añadir a la collection y el orden de las claves no es importante hasta después de la inserción, es más eficaz crear un HashMap para añadir los elementos y construir el TreeMap a partir del HasMap :
java
java.util.LinkedHashMap:
La clase java.util.LinkedHashMap conserva el orden de la inserción de las llaves.
java.util.IdentityHashMap:
La clase java.util.IdentityHashMap usa el operador '==' para saber si dos claves son idénticas.
java.util.WeakHashMap:
La clase java.util.WeakHashMap conserva las parejas usando referencias débiles, por lo tanto, si la clave no se usa en otro lado del programa, la pareja se borrará de forma automática de la collection (ver java.lang.ref.WeakReference).
java.util.Hashtable:
La clase java.util.Hashtable es una clase heredada de Java 1. Sólo se conserva por razones de compatibilidad y no deberÃa de usarse en aplicaciones nuevas. En todo caso, es preferible usar un HashMap.