首页 > Java > java教程 > 正文

如何创建具有多个键的映射以进行值访问?

DDD
发布: 2024-11-05 17:16:02
原创
1001 人浏览过

How to Create a Map with Multiple Keys for Value Access?

实现具有多个键的映射

问题:

如何创建数据行为类似于 Map 但使用多个(不同类型的)键来访问其值的结构?保证密钥是唯一的。我需要像 getByKey1、getByKey2、containsKey1 和 containsKey2 这样的方法。

答案:

一种方法是使用两个内部映射:

  • Map
  • Map

此方法允许您使用任一键搜索值,因为每个键都有自己的 Map。

附加说明:

  • 使用元组或对作为 Java 映射的键的建议在这种情况下不起作用,因为您需要能够通过以下方式搜索值仅两个指定键之一。

示例代码:

<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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!