Java LinkedList无法直接访问Node

时间:2018-12-29 14:33:49

标签: java linked-list

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

除了@mumpitz提到的ArrayList之外,根据您的应用程序,最好使用集合或映射。