前言:在上班途中使用博客园的客户端看了看文章,恰好两天之中看了同一个主题关于HashMap的两篇文章:
http://www.cnblogs.com/chenssy/p/3521565.html
http://www.cnblogs.com/cugb-2013/p/3517747.html
在此记录一下,看完他们的讲解之后,我的理解:
HashMap(java.util.HashMap)是一个数组结构,然后数组里面的每一个元素呢又是一个链表的结构,每次往Map里面添加元素时,先查找是否有key值对应的元素,如果有就做更新,在对应的元素(即链表)的最前面加入元素;如果没有则往数组里对应的元素(即链表)的最前面加入元素,这样就形成了HashMap的数组链表结构。
过多的代码分析就不分析了,关于存储效率、扩容问题及具体代码分析,可以参考连接里面分析,供以后参阅!