发现自己对看源码特别痛苦,而且看了就忘。有必要按照源码已有的功能需求按照自己的想法去写一个轮子,然后比对着看才能理解。
hashMap
功能很多,结构为数组+链表(暂时忽略红黑树),准备就写两个基本功能:
put get
我就围绕这两个功能来仿照写一个 WheelHashMap
。
WheelHashMap
类
基本属性和 hashMap
保持一致
hash
方法复制 hashMap
的
put
方法
resize
扩容方法
get
方法
在造轮子的过程中体会到为什么数组长度要是2的倍数
hash & (length-1)
代码可以在 Github 上找到
本文来自 chentiefeng的博客