首页 > 解决方案 > Java LinkedList 无法直接访问 Node

问题描述

我惊讶地发现 Java 的 LinkedList 无法直接访问 Node。如果我已经在某个地方存储了 Node 的引用并想将其用于 unlink、linkAfter、linkBefore... 为什么要在 O(n) 处再次搜索它?!!这些方法不公开!

标签: javalinked-list

解决方案


a 中的节点LinkedList确实对客户端隐藏,因此您不能“在某处存储节点的引用”。

根据您的实际用例,您可以使用公共节点滚动您自己的链表或切换到不同的集合,例如HashSet(对于 O(1) 搜索和删除任意元素)。


推荐阅读