![d13a639a363eeaf0786e4a38ffab20f1.png](https://i-blog.csdnimg.cn/blog_migrate/a12bd97fb8a3d057bdf6c06b7108f057.jpeg)
![17938d1bd4526cc871f9cd11a8729883.png](https://i-blog.csdnimg.cn/blog_migrate/3f16bde9ae95441f748791c7987035f3.jpeg)
众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。
HashMap数组每一个元素的初始值都是Null。
![4ce379cf11dd8ac279ea71dcf76bae4f.png](https://i-blog.csdnimg.cn/blog_migrate/5ffa8208389bbec2992003ceff47a44b.png)
对于HashMap,我们最常使用的是两个方法:**Get **和Put。
1.Put方法的原理
调用Put方法的时候发生了什么呢?
比如调用 hashMap.put("apple", 0) ,插入一个Key为“apple"的元素。这时候我们需要利用一个哈希函数来确定Entry的插入位置(inde