Java的Map中的key是区分大小写

通俗易懂的说,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方法

Java的Map中的key是区分大小写

(2)key对象的hashCode方法,“a”是string类的,所以是string的hashcode方法

Java的Map中的key是区分大小写

(3)所以“a”和“A”的hashcode是不同的,所以区分大小写

Java的Map中的key是区分大小写

 

(4)所以说,还是要看看源代码看怎么实现的哈。