Implementieren einer Karte mit mehreren Schlüsseln
Die herkömmliche Kartendatenstruktur arbeitet mit einem einzigen Schlüssel für jeden Wert. Einige Szenarien erfordern jedoch eine kartenartige Struktur, die den Zugriff auf Werte mithilfe mehrerer Schlüssel ermöglicht.
Wenn in diesem Zusammenhang die Eindeutigkeit der Schlüssel garantiert ist, besteht ein effektiver Ansatz darin, zwei separate Karten zu verwenden: Map< K1, V> und Map
Der Einfachheit halber kann eine Wrapper-Klasse entworfen werden, um eine einheitliche Schnittstelle für die Interaktion mit diesen beiden Maps bereitzustellen. Diese Wrapper-Klasse kann Methoden wie getByKey1(K1-Schlüssel), getByKey2(K2-Schlüssel), enthältKey1(K1-Schlüssel) und enthältSchlüssel2(K2-Schlüssel) definieren.
Es ist erwähnenswert, dass die Verwendung von Tupeln oder Paaren als Schlüssel für Eine einzelne Karte würde die Anforderung nicht erfüllen, da sie die Suche nach Werten, die nur auf einem der Schlüssel basieren, ausschließen würde. Karten basieren auf Hash-Codes und Gleichheitsprüfungen für einen effizienten Zugriff, sodass es unpraktisch ist, mehrere Schlüssel innerhalb eines einzelnen Schlüsselobjekts zu verarbeiten.
Das obige ist der detaillierte Inhalt vonWie implementiert man eine Karte mit mehreren Schlüsseln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!