JavaGuide
JavaGuide copied to clipboard
建议在LinkedHashMap源码分析文档中添加对"重写了HashMap#newNode()来将新节点放在链表尾部以实现有序迭代"的描述
看到了对几个钩子的源码讲解,没想明白哪里实现了有序迭代,即尾插新节点。然后看了下源码发现重写了newNode(),在创建节点后还多了一步linkNodeLast(),而这些在文档里都没提到。不然钩子只做了 移动被访问的entry到尾部 和 淘汰节点,看起来总感觉少了东西。
大概在 https://javaguide.cn/java/collection/linkedhashmap-source-code.html#get-%E6%96%B9%E6%B3%95 的前面加上?
看到了对几个钩子的源码讲解,没想明白哪里实现了有序迭代,即尾插新节点。然后看了下源码发现重写了newNode(),,在创建节点后还多了一步
linkNodeLast(),而这些在文档里都没提到。不然钩子只做了 移动entry到尾部 和 淘汰节点,看起来总感觉少了东西。大概在 https://javaguide.cn/java/collection/linkedhashmap-source-code.html#get-%E6%96%B9%E6%B3%95 的前面加上?
可以的,欢迎补充完善这部分哈,可以提交一下PR,我来合并👍