Ответ 1
Оба обеспечивают доступ к данным с ключом. Hashtable является одним из оригинальных классов коллекции в Java. HashMap является частью новой структуры коллекций, добавленной с Java 2, v1.2.
Ключевое различие между ними состоит в том, что доступ к Hashtable синхронизируется в таблице, тогда как доступ к HashMap отсутствует. Вы можете добавить его, но его по умолчанию нет.
Другое отличие состоит в том, что итератор в HashMap является отказоустойчивым, а перечислитель для Hashtable - нет. Если вы измените карту во время итерации, вы узнаете.
И третье отличие состоит в том, что HashMap разрешает в нем нулевые значения, а Hashtable - нет.
Отвечайте на отредактированный вопрос:
/** 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>();
Затем в классе:
//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);