由浅入深解析HashMap

 

   HashMap是工作中用的比较多的集合类框架,是java语言中非常重要的数据结构,记得毕业找工作时,面试官都特别喜欢问hashmap和hashtable,由此可见它的重要性。

我计划写一个系列,由浅入深解析HashMap(不知道能不能坚持):

由浅入深解析HashMap---HashMap简单实现 增、删、查。

由浅入深解析HashMap---HashMap扩容

由浅入深解析HashMap---HashMap冲突

由浅入深解析HashMap---HashMap红黑树

由浅入深解析HashMap---HashMap遍历

每个节都是基于前一节,是在前一节的例子上添加功能。

HashMap简单实现 增、删、查。这个章节主要是定义了一个长度为16的数组,不考虑扩容,不考虑冲突。说直白就是对数组的操作,只是这里的下标值不是从1---16这种顺序,而是根据hash值来获取数组下标。

HashMap扩容。这个章节在上一个章节的基础上考虑扩容的问题,在这一章节不考虑hash冲突。

HashMap冲突。同理,这个也是基于上一个章节,但这里不考虑红黑树,即不考虑链表中元素达到一定个数时转换成树结构。

HashMap红黑树。JDK1.8的功能,默认情况下,当冲突个数达到8个时,就会将链表转换成树结构。

HashMap遍历。解析hashmap提供的几种遍历方法,分析他们之间的性能。

若文章中有不正确或者可以有更好的处理方法之处,还请各位不吝赐教。

 

posted on 2016-04-20 22:02  古剑苏苏  阅读(248)  评论(0编辑  收藏  举报