Implémentation d'une carte avec plusieurs clés
Question :
Comment puis-je créer une donnée structure qui se comporte comme une carte mais utilise plusieurs clés (typées différemment) pour accéder à ses valeurs ? Les clés sont garanties uniques. J'ai besoin de méthodes telles que getByKey1, getByKey2, containKey1 et containKey2.
Réponse :
Une approche consiste à utiliser deux cartes internes :
Cette méthode vous permet de rechercher des valeurs en utilisant l'une ou l'autre touche car chaque touche a sa propre carte.
Notes supplémentaires :
Exemple de code :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!