Ambos proporcionan acceso de valor clave a los datos. The Hashtable es una de las clases de colecciones originales en Java. HashMap es parte del nuevo Framework de Colecciones, agregado con Java 2, v1.2.
La diferencia clave entre los dos es que el acceso al Hashtable se sincroniza en la tabla mientras que el acceso al HashMap no lo está. Puede agregarlo, pero no está allí por defecto.
Otra diferencia es que el iterador en el HashMap es a prueba de errores mientras que el enumerador de la tabla Hashtable no lo es. Si cambias el mapa mientras iteras, sabrás.
Y, una tercera diferencia es que HashMap permite valores nulos, mientras que Hashtable no.
respuesta a su pregunta Editado:
/** imageID --> image map */
//imageID - String. imgs is a map of imageID and ImageIcon. imageID is key. ImageIcon is value.
Map<String,ImageIcon> imgs = new HashMap<String,ImageIcon>();
Luego, más tarde en la clase:
//SEE INLINE COMMENTS
// images
//No definition provided. May be putting values into the imgs map.
loadImages();
//this.DEFAULT_IMAGE_ID is some imageID. imgs.get gets the value for that imageID, which
//is ImageIcon for that imageID. That is stored in actualImage variable.
actualImage = imgs.get(this.DEFAULT_IMAGE_ID);
//Creating a new JLabel with actualImage.
JLabel label = new JLabel(actualImage);
@JigarJoshi - Gracias por ese enlace, y buen punto. después de mi edición; Aunque creo que mi pregunta es un poco diferente ahora – Coffee