Java - Objekte mit Schlüssel/Wert-Paaren?
Möchte ich die folgenden Typen von Objekten. Dies ist mein übergeordneten Wunsch, dass ich möchte, um herauszufinden, in Java:
ListObject(key, String): jede Taste entspricht einem String-Wert; Schlüssel ist eine Zeichenfolge, die sich
ListObject(key, String[]): jede Taste entspricht einem array von Strings sein; der Schlüssel ist eine Zeichenfolge, die sich
ListObject(key, String, String[]): das gleiche Angebot, aber mit zwei wertefelder pro Schlüssel.
Wie würde ich es machen (und verwenden!) Objekte von diesem Typ?
Dank.
- Es heißt, eine "Landkarte"
InformationsquelleAutor JDS | 2011-08-05
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Man braucht wohl einige
Map
s eher alsList
s. Überprüfen Sie in der Javadoc für Map-Implementierungen; die häufigste istHashMap
, aber es sind sortiert, Auger, deterministisch iterierbar Implementierungen etc. verfügbar auch.(oder vorzugsweise
Map<String, List<String>>
)Map<KeyType,ValueType>
implementiert durchHashMap<KeyType, ValueType>
undTreeMap<KeyType, ValueType>
, unter anderem-HashMap ist ungeordnet und TreeMap ist bestellt.Andere nützliche Karten sind
LinkedHashMap
das ist wieHashMap
aber wiederholt in der insertion order undcom.google.common.sammeln.Karten
in Guave, die eine Reihe von utility-Methoden, undcom.google.common.sammeln.ImmutableMap
, die eine unveränderliche map-Implementierung.Für Ihre entsprechende Taste, um ein array von strings ist, möchten Sie vielleicht Blick auf eine
Multimap
das ist eine Karte mit mehreren Werten für einen bestimmten Schlüssel.Könnten Sie die Karte für diesen Zweck.
Die Allgemeine syntax für die Map ist:
Nun gibt es vier Arten von Karten, die in java:
HASH MAP - Verwenden Sie diese Karte, wenn Sie kümmern sich nicht um die Reihenfolge, in der die Elemente angezeigt werden, wenn Sie Durchlaufen, Sie auf die Karte.
HASH-TABELLE - Synchronisierte version der hash-map.
VERLINKTEN HASH MAP - Verwenden Sie dies, wenn Sie kümmern sich um die Einfügemarke um.
BAUM ANZEIGEN - Verwenden Sie dies, wenn Sie möchten benutzerdefinierte Sortierreihenfolge.
Anzeigen werden verwendet, um assoziative arrays zu erstellen, die in Java.
Karte für dein erstes Beispiel. Jeder String-Schlüssel zugeordnet ist, um einen String-Wert.
Karte für dein zweites Beispiel. Werte sind arrays von String.
Ihrer letzten Beispiel, müssen Sie erstellen Sie eine eigene Klasse mit zwei Feldern: das eine ein String und ein String[]. Dann, eine Karte zu erstellen, die Mitarbeiter-String in ein Objekt des Typs.
Java
Map
geben würde wahrscheinlich den trick tun. EinMap<KeyType, ValueType>
speichert Schlüssel-Wert-Paare, so dass Sie hätte eineMap<String, String>
eineMap<String, List<String>>
, und einMap<String, SomePairType>
.Map
ist nur eine Schnittstelle: Sie haben zu Holen eine Implementierung.HashMap
undTreeMap
sind Ihre besten Wetten. Beide sind gut, aberTreeMap
funktioniert nur mit vergleichbaren Schlüssel-Typen.Für die Schlüssel, da
String
ist vergleichbar mit anderen Saiten könnte man entweder map-Implementierung.