【发布时间】:2010-12-12 19:07:01
【问题描述】:
如果我多次将同一个键传递给HashMap 的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 是否像一个桶,其中最后一个值被引用(但在内存中)?
【问题讨论】:
-
顺便说一句,这是展示作为 Jakarta 集合类 (commons.apache.org/collections) 一部分的多哈希图的绝佳机会。它可以让您在需要时拥有与同一个键关联的任意数量的值。