实现具有多个键的映射
问题:
如何创建数据行为类似于 Map 但使用多个(不同类型的)键来访问其值的结构?保证密钥是唯一的。我需要像 getByKey1、getByKey2、containsKey1 和 containsKey2 这样的方法。
答案:
一种方法是使用两个内部映射:
此方法允许您使用任一键搜索值,因为每个键都有自己的 Map。
附加说明:
示例代码:
<code class="java">import java.util.HashMap; import java.util.Map; class MyMap<K1, K2, V> { private Map<K1, V> map1; private Map<K2, V> map2; public MyMap() { map1 = new HashMap<>(); map2 = new HashMap<>(); } public V getByKey1(K1 key) { return map1.get(key); } public V getByKey2(K2 key) { return map2.get(key); } public boolean containsKey1(K1 key) { return map1.containsKey(key); } public boolean containsKey2(K2 key) { return map2.containsKey(key); } public void put(K1 key1, K2 key2, V value) { map1.put(key1, value); map2.put(key2, value); } }</code>
以上是如何创建具有多个键的映射以进行值访问?的详细内容。更多信息请关注PHP中文网其他相关文章!