liuxiaoming
2018-08-16 17:38:47
java hashmap源码分析和hashset
hashmap源码分析(20180816)
这几天想分析java源码了,或者学习无聊了。
hashmap别人分析的我就不说了。发现hashmap一个优秀的点:如何更快的get(key)
首先hashmap存储是数组,【149】transient Entry[] table(1);
取值的方法
注意,并不是遍历所有的数组,而是定位到数组指定位置。hashmap有自己的算法,存取的时候,
由于算法太难,我解释不清楚。推荐访问(https://blog.csdn.net/lyandyhk/article/details/51147012)。
注意,通过上文解释,有些时候 indexFor(int h, int length)会同值。此时 entry.next 就有用了。
hashset源码分析(20180817)
由于hashset源码太简单,完全是限制版的hashmap,不单独做一个博客。
hashmap的key就是hashset的值。hashmap的value几乎没用,都是写死的值。
注意:hashset没有get值的方法,仅仅是一个存储集合。
备注:(1)、transient作用是反序列化的。
评论
最近浏览
liuxiaoming LV5
2018年8月20日
最代码官方 LV167
2018年8月17日