Heim > Java > javaLernprogramm > Wie erstelle ich eine Karte mit mehreren Schlüsseln für den Wertzugriff?

Wie erstelle ich eine Karte mit mehreren Schlüsseln für den Wertzugriff?

DDD
Freigeben: 2024-11-05 17:16:02
Original
1103 Leute haben es durchsucht

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

Implementieren einer Karte mit mehreren Schlüsseln

Frage:

Wie kann ich Daten erstellen? Struktur, die sich wie eine Karte verhält, aber mehrere (verschieden typisierte) Schlüssel verwendet, um auf ihre Werte zuzugreifen? Die Schlüssel sind garantiert einzigartig. Ich benötige Methoden wie getByKey1, getByKey2, enthältKey1 und enthältSchlüssel2.

Antwort:

Ein Ansatz besteht darin, zwei interne Maps zu verwenden:

  • Map
  • Map

Mit dieser Methode können Sie Werte mit beiden Schlüsseln suchen, da jeder Schlüssel seine eigene Map hat.

Zusätzliche Hinweise:

  • Der Vorschlag, ein Tupel oder Paar als Schlüssel für Javas Map zu verwenden, würde in diesem Fall nicht funktionieren, da Sie in der Lage sein müssen, nach Werten zu suchen nur einer der beiden angegebenen Schlüssel.

Beispielcode:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Karte mit mehreren Schlüsseln für den Wertzugriff?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage