Java 如何访问LinkedHashMap中的链接列表?

Java 如何访问LinkedHashMap中的链接列表?,java,linkedhashmap,Java,Linkedhashmap,LinkedHashMap应该包含一个插入顺序链表。有没有办法访问该列表?我在javadocs中找不到关于它的任何东西 不,不是,但取决于您试图做什么,由迭代器()返回的迭代器可能足够了。不,这些是实现细节,永远不应该暴露于外部世界。是否执行键集()执行?您试图执行什么?@shmosel我有一个需要next()的键值类型结构,previous()可能比O(n)更好。但是我希望保持hashmap在其他操作中的效率。这太糟糕了,我希望能够访问O(1)中的.previous()和.next(),而不是

LinkedHashMap应该包含一个插入顺序链表。有没有办法访问该列表?我在javadocs中找不到关于它的任何东西

不,不是,但取决于您试图做什么,由
迭代器()返回的迭代器可能足够了。

不,这些是实现细节,永远不应该暴露于外部世界。

是否执行
键集()
执行?您试图执行什么?@shmosel我有一个需要next()的键值类型结构,previous()可能比O(n)更好。但是我希望保持hashmap在其他操作中的效率。这太糟糕了,我希望能够访问O(1)中的.previous()和.next(),而不是通过O(n)中的条目循环来获取上一个和下一个。@WinterDev next()是O(1)@PeterLawrey,如果我有一个密钥K,并且想要获得与K.next()等价的值,我必须循环遍历迭代器,直到找到K,然后得到下一个,即O(n)@WinterDev。在这种情况下,这不是这个映射的预期用例。我建议使用一个NavigableMap,它有next和previous。@WinterDev它的O(logn)基本上与所有其他操作一样。因此,他们没有办法获得比使用迭代器的O(n)更好的键的previous()和next()。@WinterDev我没有这样说。你的问题是关于进入另一个结构的内脏。另外,您确定上一个和下一个实际上不是O(1)吗?你确定你需要LinkedHashMap吗?