HashMap(JDK1.8)_数组

HashMap(JDK1.8)_表空间_02

 

HashMap(JDK1.8)_表空间_03

 

 

HashMap(JDK1.8)_初始化_04

 四个构造函数:

HashMap(JDK1.8)_初始化_05

HashMap(JDK1.8)_初始化_06

HashMap(JDK1.8)_表空间_07

HashMap(JDK1.8)_初始化_08

 

HashMap(JDK1.8)_初始化_09

构造方法只是赋值属性初始值但是不会真正初始化数组表空间,在第一次添加元素时形成数组表空间。这个和以往的jDK1.7之前的不同,1.7之前的都是在构造里初始化了table数组空间。

 

获取数组索引的hash算法:

HashMap(JDK1.8)_数组_10

 

HashMap(JDK1.8)_初始化_11

 

 

 

HashMap的版本是JDK1.8版本。

HashMap(JDK1.8)_初始化_12

HashMap(JDK1.8)_初始化_13

HashMap(JDK1.8)_数组_14

      HashMap中的成员变量有:

HashMap(JDK1.8)_表空间_15

HashMap(JDK1.8)_数组_16

    HashMap的pu方法:

 

HashMap(JDK1.8)_初始化_17

HashMap(JDK1.8)_数组_18

HashMap(JDK1.8)_数组_19

 

HashMap(JDK1.8)_表空间_20

HashMap(JDK1.8)_数组_21

 

HashMap(JDK1.8)_数组_22

HashMap(JDK1.8)_数组_23

 

HashMap(JDK1.8)_数组_24

HashMap(JDK1.8)_表空间_25

HashMap(JDK1.8)_初始化_26