系列文章目录
数据结构之哈希表_crazy_xieyi的博客-CSDN博客
数据结构之Map&Set_crazy_xieyi的博客-CSDN博客
解析源码之前的几个疑问?
1.HashMap在什么时候开辟的内存?
2.不带参数的构造方法,默认哈希表的数组大小是多少?
3. HashMap<String,Integer> map = new HashMap<>(19);此时分配的内存是多少?
4.一般地,哈希表示数组+链表的方法进行存储,在满足什么条件的时候链表会变成树?
5.当HashMap扩容的时候需要注意什么?
6.hashcode与equals的区别?
下面就看看源码:
当看完以上的源码,我想1-4的问题就已经解决了。那么当HashMap扩容的时候需要注意什么?这个时候,每一个元素都要进行重新哈希。hashcode与equals有什么区别?两个对象的hashcode相同,equals不一定相同;两个对象的equals相同,hashcode一定相同。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/94448.html