简单实现HashMap
简单实现HashMap
理论
JDK 1.6, JDK 1.7 HashMap 采用位桶(数组) + 链表实现。
JDK 1.8 HashMap 采用位桶(数组) + 链表 + 红黑树实现。(当链表长度超过阈值 “8” 时,将链表转换为红黑树)
哈希冲突
利用哈希冲突特性 存取数据
定义一个链表数组 Node[] data = new Node[16];
put 的时候,通过hashCode算出在data数组中索引,2种情况
hash值算出的索引一样,key不一样,存入链表 (hash冲突)
has
原创
2020-10-13 11:27:22 ·
195 阅读 ·
0 评论