1. 前言
通过前面的文章,我们知道了什么是哈希表,Java的HashMap是什么、其底层的结构以及如何使用Java里面的HashMap。
总结一句话:HashMap是基于底层叫Entry[]数组实现的一种哈希表
那今天我们来稍微深入一点,讲解HashMap里面的一个点:存取(put/get)数据的时候,Entry数组index下标的计算。
1.1 hashCode,hash与index的概念
来回忆一下:
a).上一节讲到put/get一个元素的时候,会调用该元素的hashCode方法,比如下面的自定义KeyObject类。
b).hashCode的数据会被用来计算hash值
如果细心的小伙伴,去print一下这个hash值,就会发现其实是一个非常大的整数&#