實作具有多個鍵的對應
問題:
如何建立資料行為類似於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中文網其他相關文章!