Implementieren einer Karte mit mehreren Schlüsseln
Ein häufiger Bedarf in der Programmierung ist eine Datenstruktur, die sich wie eine Karte verhält, aber die Fähigkeit dazu hat Zugriff auf Werte mithilfe mehrerer (verschieden typisierter) Schlüssel. Während eine typische Karte einen Schlüssel eines einzelnen Typs mit einem entsprechenden Wert verknüpft, erfordert diese Anforderung einen flexibleren Ansatz.
Lösung: Zwei Karten statt einer
Fällig Aufgrund der Natur von Karten würde die Verwendung eines zusammengesetzten Schlüssels (z. B. eines Tupels oder Paares) zur Darstellung der mehreren Schlüssel in Java nicht ausreichen. Dies liegt daran, dass Karten für die Suche nach Schlüsseln auf Hash-Codes und Gleichheitsprüfungen angewiesen sind. Daher wird es unmöglich, nach Werten zu suchen, die nur eine der Komponenten des zusammengesetzten Schlüssels verwenden.
Stattdessen besteht die empfohlene Lösung darin, zwei separate Zuordnungen intern zu verwalten: eine Map
Implementierung mit einer Wrapper-Klasse
Wenn eine einzelne Schnittstelle gewünscht wird, kann eine Wrapper-Klasse zur Offenlegung erstellt werden die Methoden für den Zugriff auf Werte mit beiden Schlüsseln. Diese Wrapper-Klasse würde die tatsächlichen Suchvorgänge an die beiden zugrunde liegenden Karten delegieren und so eine einheitliche Schnittstelle für den Benutzer bereitstellen.
Fazit
Durch die interne Verwendung von zwei Karten und möglicherweise die Implementierung einer Mit der Wrapper-Klasse ist es möglich, eine Datenstruktur zu implementieren, die sich wie eine Karte mit mehreren Schlüsseln verhält. Dieser Ansatz gewährleistet einen effizienten Abruf von Werten mit beiden Schlüsseltypen und behält gleichzeitig die Eindeutigkeit der Schlüssel bei.
Das obige ist der detaillierte Inhalt vonWie können Sie eine Karte mit mehreren Schlüsseln in Java implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!