Если я передаю один и тот же ключ несколько раз методу HashMap
s put
, что произойдет с исходным значением? А что, если даже значение повторяется? Я не нашел никакой документации по этому вопросу.
Случай 1: Перезаписанные значения для ключа
Map mymap = new HashMap();
mymap.put("1","one");
mymap.put("1","not one");
mymap.put("1","surely not one");
System.out.println(mymap.get("1"));
Получаем surely not one
.
Случай 2: Дублирующее значение
Map mymap = new HashMap();
mymap.put("1","one");
mymap.put("1","not one");
mymap.put("1","surely not one");
// The following line was added:
mymap.put("1","one");
System.out.println(mymap.get("1"));
Получаем one
.
Но что происходит с другими значениями? Я преподавал основы студенту, и меня спросили об этом. Является ли Map
как ведро, на которое ссылается последнее значение (но в памяти)?