1

我需要访问LinkedLista 的内部LinkedHashMap。我希望能够同时访问尾部和头部。通过迭代器,我只能访问头部或尾部,这取决于构造时使用的访问顺序。

如何有效地访问O(1)中内部列表的头部和尾部?

这个想法类似于 Apache Common Collection LinkedHashMap.asList()(但我想避免将 Apache Commons Collections 添加为依赖项,因为我已经有 Guava)。

4

1 回答 1

0

您只能通过反射访问内部 LinkedList。

使用反射,您可以访问私有成员,setAccessible(true) 当 javas 安全管理器通过反射禁用私有访问时,这可能会失败。

另一种解决方案是使用 LinkedHashMap 的开源实现,然后将 getter 添加到内部列表。

于 2013-01-07T01:05:48.917 回答