首頁 > Java > java教程 > 如何建立具有多個鍵的映射以進行值存取?

如何建立具有多個鍵的映射以進行值存取?

DDD
發布: 2024-11-05 17:16:02
原創
1102 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板