HashMap底层设计
2017-04-05 21:58:58 0 举报
登录查看完整内容
为你推荐
查看更多
HashMap是Java中最常用的数据结构之一,它实现了Map接口。HashMap底层是基于哈希表实现的,它通过哈希函数将键映射到数组的一个位置,然后通过链表或红黑树来解决哈希冲突。当发生哈希冲突时,链表和红黑树分别用于处理不同的情况。在JDK1.8之前,如果链表的长度超过8,那么链表就会被转换为红黑树以提高查询效率。而在JDK1.8之后,链表和红黑树都可以使用,并且新增了一个“动态扩容”机制,当元素数量达到阈值时,会触发扩容操作,重新计算哈希值并将元素重新分配到新的数组中。这种设计使得HashMap具有高效的存取速度和较低的内存占用。
作者其他创作
大纲/内容
this.dafaultLen = dafaultLen;
空函数
初始化变量
方法
构造函数
TestHashMap类
成员变量
table = new Entry[dafaultLen];
数组负载因子:defaultLoad
put
先判断取得下标的数值是否为空,空则新建,否则直接赋值给Entry,然后指向下一个
TestMap接口
Entry接口
get
组成元素
Entry类
数组元素个数:size
数组默认长度:dafaultLen
this.defaultLoad = defaultLoad;
先找到下标,然后判断该下标的数组是否未为空
实现
0 条评论
回复 删除
下一页