序言

本来是在讲解List接口系列的集合,但是接下来我要讲的是那个HashSet,要明白HashSet就必须先要明白HashMap,所以在此出穿插一篇hashMap的文章,为了更好的学习HashSet。个人感觉初次看HashMap源码比较难,但是明白了,其实也不是很难,

--WH

 

一、准备工作。

建议:先去看一下我的另一篇讲解hashcode的文章,让自己知道为什么使用hashcode值进行查询会很快。如果你已经懂了hashcode的工作原理,那么就可以直接往下看了。http://www.cnblogs.com/whgk/p/6071617.html

1、链表散列

什么是链表散列呢?通过数组和链表结合在一起使用,就叫做链表散列。这其实就是hashmap存储的原理图。

2、hashMap的数据结构和存储原理

HashMap的数据结构就是用的链表散列,大概是怎么存储的呢?分两步

1、HashMap内部有一个entry的内部类,其中有四个属性,我们要存储一个值,则需要一个key和一个value,存到map中就会先将key和value保存在这个Entry类创建的对象中。

//这里只看这一小部分,其他重点的在下面详细解释  
        		

网友评论