Java源码解读(一)——HashMap

  HashMap作为常用的一种数据结构,阅读源码去了解其底层的实现是十分有必要的。在这里也分享自己阅读源码遇到的困难以及自己的思考。

HashMap的源码介绍已经有许许多多的博客,这里只记录了一些我看源码过程中的疑问,一些基础知识不再讲解。

一:Hash值的来源和使用 

1 public V put(K key, V value) { 2 return putVal(hash(key), key, value, false, true); 3 } 4 5 static final int hash(Object key) { 6 int h; 7 // <<< 无符号右移 8 return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); 9 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpgww.html