数据结构
文章平均质量分 62
拿捏数据结构
b顶峰相见
用博客分享技术和记录总结,不讲废话,只讲干货!
展开
-
三张表,搞懂HashMap的基础
怎么解决hash冲突?当由key计算出来的hash相同时,HashMap使用的是链表或红黑树来解决。3.当数组的元素数量已经到达当前容量的75%(默认阈值是0.75),则进行扩容。2.当存在链表节点长度>=8,但数组长度小于64时,则进行扩容。1.数组为空,首次扩容。每次扩容原来的2倍长的新数组。什么时候会进行扩容?原创 2024-07-28 11:02:11 · 287 阅读 · 0 评论 -
HashMap详细讲解
如果不为空则进行添加元素,先通过(n-1)&hash计算出在数组的索引值,然后判断该索引是否有数据,如果没有则直接创建一个Node存到该索引上,如果有则说明该索引上已有数据(称为hash冲突),那么就有两种情况:第一种情况是当该索引上的Node的key是否与我们传进来的key相同并且hash相同,如果相同,则覆盖value;如果不是,则走链表的添加流程,通过循环找到next为null的Node,当在循环的过程中,如果找到了和传入的key一样的key,hash值也一样,那么就覆盖value;原创 2024-07-28 10:52:52 · 917 阅读 · 0 评论