我需要访问LinkedHashMap
内部的LinkedList
。我希望能够访问尾部和头部。通过迭代器,我只能访问头部或尾部,具体取决于构造时使用的访问顺序。
如何在 O(1) 内有效访问内部列表的头部和尾部?
这个想法类似于 Apache Common Collection 的 LinkedHashMap.asList()
(但我想避免将 Apache Commons Collections 添加为依赖项,因为我已经有了 Guava)。
最佳答案
您只能通过反射访问内部 LinkedList。
通过反射,您可以使用 setAccessible(true)
访问私有(private)成员
当 javas 安全管理器通过反射禁用私有(private)访问时,这可能会失败。
另一种解决方案是使用 LinkedHashMap 的开源实现,然后向内部列表添加 getter。
关于java - LinkedHashMap 具有访问内部链表的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14188357/