我想要一个由 Java 中的两个键索引的映射(一个您使用两个键放置和检索值的映射)。为了清楚起见,我正在寻找以下行为:
map.put(key1, key2, value);
map.get(key1, key2); // returns value
map.get(key2, key1); // returns null
map.get(key1, key1); // returns null
最好的方法是什么?更具体地说,我应该使用:
Map<K1,Map<K2,V>>
Map<Pair<K1,K2>, V>
其他?
(其中K1,K2,V分别是第一个key、第二个key和value的类型)
最佳答案
您应该使用 Map<Pair<K1,K2>, V>
它只会包含一张 map , 而不是 N+1 个 map
key 构造 将是显而易见的(创建 对)
没有人会感到困惑 map 的意义 面向程序员的 API 不会改变。
在数据结构中的停留时间会更短,如果你以后发现需要同步它,这很好。
关于java - java中带有二维键的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6373443/