如果是同一个MAP的话,其实在堆上只有一个value,在栈上的不同key存的是相同的地址(即都是指向同一个value)你运行下一下代码 看看 打印的HashCode是不是一样的嘛:
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("北京","中国");
map.put("上海","中国");
map.put("四川","中国");
map.put("重庆","中国");
for(String str : map.keySet()){
System.out.println("value:" + map.get(str) + "--HashCode:" + map.get(str).hashCode());
}
} |