通俗易懂的说,key的大小写的hash值又不一样。
先上代码:
Map<String ,String > map = new HashMap<String,String>();
map.put("a", "a");
map.put("A", "A");
System.out.println(map.get("a"));
输出结果是:a
为什么?查看一下Map的源代码,必须看。
(1)下边通俗易懂的简单说,调用了hash方法
(2)key对象的hashCode方法,“a”是string类的,所以是string的hashcode方法
(3)所以“a”和“A”的hashcode是不同的,所以区分大小写
(4)所以说,还是要看看源代码看怎么实现的哈。