JavaGuide icon indicating copy to clipboard operation
JavaGuide copied to clipboard

建议在LinkedHashMap源码分析文档中添加对"重写了HashMap#newNode()来将新节点放在链表尾部以实现有序迭代"的描述

Open urlyy opened this issue 1 month ago • 1 comments

看到了对几个钩子的源码讲解,没想明白哪里实现了有序迭代,即尾插新节点。然后看了下源码发现重写了newNode(),在创建节点后还多了一步linkNodeLast(),而这些在文档里都没提到。不然钩子只做了 移动被访问的entry到尾部 和 淘汰节点,看起来总感觉少了东西。

大概在 https://javaguide.cn/java/collection/linkedhashmap-source-code.html#get-%E6%96%B9%E6%B3%95 的前面加上?

urlyy avatar Nov 20 '25 19:11 urlyy

看到了对几个钩子的源码讲解,没想明白哪里实现了有序迭代,即尾插新节点。然后看了下源码发现重写了newNode(),,在创建节点后还多了一步linkNodeLast(),而这些在文档里都没提到。不然钩子只做了 移动entry到尾部 和 淘汰节点,看起来总感觉少了东西。

大概在 https://javaguide.cn/java/collection/linkedhashmap-source-code.html#get-%E6%96%B9%E6%B3%95 的前面加上?

可以的,欢迎补充完善这部分哈,可以提交一下PR,我来合并👍

Snailclimb avatar Nov 21 '25 08:11 Snailclimb