java - LinkedHashMap 具有访问内部链表的方法

标签 java collections guava apache-commons linkedhashmap

我需要访问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/

相关文章:

java - Spring-MVC:使用 AbstractCommandController 时如何显示错误?

c# - 用于快速插入/删除的 .net 集合

java - Guava 函数 toByteArray() 返回 null?

java - Guava :Set<K> + Function<K,V> = Map<K,V>?

java - 从 C++ 类崩溃到 Java 的 JNI 回调

java - 用于存储原始整数的集合,允许更快的 contains() 和有序迭代

java - 尝试上传时无效的 CSRF token Spring 4 MVC

algorithm - 查找数组中的特殊数字

c# - DataGridView 和 INotifyCollectionChanged

java - 在特定时间间隔内阻止特定机器