我需要一个 HashMap (1) 通过对象引用匹配键,以及 (2) 迭代时保持插入顺序
这些功能分别在 IdentityHashMap 和 LinkedHashMap 中实现。
有什么方法可以得到适合我需要的数据结构吗? Java 标准或第 3 方库(如 Guava)中存在的一种,或者可能在 LinkedHashMap 上使用一些技巧,以便它使用对象引用来匹配键?
最佳答案
您可以使用 Guava 的 Equivalence
为此:
Equivalence<Object> equivalence = Equivalence.identity();
Map<Equivalence.Wrapper<Object>, Object> map = new LinkedHashMap<>();
map.put(equivalence.wrap(a), b);
关于java - 是否有维护插入顺序的 IdentityHashMap 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33907109/