Skip to content

Commit 7429d48

Browse files
committed
Update HashMap.md
1 parent aa77450 commit 7429d48

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

docs/java/collection/HashMap.md

+2
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,8 @@ HashMap只提供了put用于添加元素,putVal方法只是给put方法调用
239239
- ①如果定位到的数组位置没有元素 就直接插入。
240240
- ②如果定位到的数组位置有元素就和要插入的key比较,如果key相同就直接覆盖,如果key不相同,就判断p是否是一个树节点,如果是就调用`e = ((TreeNode<K,V>)p).putTreeVal(this, tab, hash, key, value)`将元素添加进入。如果不是就遍历链表插入(插入的是链表尾部)。
241241

242+
ps:下图有一个小问题,来自 [issue#608](https://github.com/Snailclimb/JavaGuide/issues/608)指出:直接覆盖之后应该就会 return,不会有后续操作。参考 JDK8 HashMap.java 658 行。
243+
242244
![put方法](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-7/put方法.png)
243245

244246
```java

0 commit comments

Comments
 (0)