HashMap 的KEY 区别大小写么


最近面试遇上一些题目,不能说是很难,可是没有去看过,就是不知道。其实都是些小白的问题,大牛就不要乱喷了。我只是想认真学习编程,所以记录。

1、HashMap 的KEY 区别大小写么?

当时不知道,可是总的回答吧,就蒙了一个不区分,运气就这么差,我都后悔回答了。后来查了下,是区分大小写的。

例如:你用 get(Object key)方法去取数据,它会调用getEntry(key)这个方法,

然后getEntry(key) 会通过int hash = (key == null) ? 0 : hash(key);取KEY的Hashcode值。

然后再根据indexFor(hash, table.length)方法取在数组中的地址。

说了一大堆,其实就是为了说明,我haspmap取值是根据key的hashcode值来取得。而大小写字母hashcode值是不一样的。

这里我写了一个简单测试程序,如下:

public class TestHashCode {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("a".hashCode());
System.out.println("A".hashCode());
}
}

结果:

97
65


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM