三个切入点:
- 构造方法
- 构造一个Entry数组,此为HashMap的核心容器
- 初始化两个参数:loaderFactor和initialCapacity
- get()方法
- 计算Key的hash code,得到对应的数组下标
- 数组中取出Entry该对象,取出key,比较hash code是否相同,若相同,比较equals是否相同,若相同,返回,若不同,循环查找Entry的next元素,循环比较,知道取出相同的元素,没有则返回空
- put()方法
- 得到Key的hash码,同时计算该hash码在数组中对应的下标值
- 返回该Key的old值,并返回,查找方式为:
- 放入新值:(addEntry方法)
- resize if need