序言
本来是在讲解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类创建的对象中。
//这里只看这一小部分,其他重点的在下面详细解释延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
学习是年轻人改变自己的最好方式
