Ich versuche ein Wörterbuch zu implementieren (wie im physischen Buch). Ich habe eine Liste von Wörtern und deren Bedeutung.
Welche Datenstruktur / welchen Datentyp bietet Java, um eine Liste von Wörtern und deren Bedeutung als Schlüssel / Wert-Paare zu speichern?
Wie kann ich mit einem Schlüssel den Wert finden und zurückgeben?
java
dictionary
key-value
user1849819
quelle
quelle
Antworten:
Du wirst eine wollen
Map<String, String>
. Zu den Klassen, die dieMap
Schnittstelle implementieren , gehören (ohne darauf beschränkt zu sein):HashMap
LinkedHashMap
Hashtable
Jedes ist für bestimmte Situationen konzipiert / optimiert (weitere Informationen finden Sie in den entsprechenden Dokumenten).
HashMap
ist wahrscheinlich die häufigste; die Standardeinstellung.Zum Beispiel (mit a
HashMap
):quelle
Map
(überprüfen Sie die Javadoc)Map<String, String> map = new HashMap<>();
Dadurch wird ein Textwörterbuch (Zeichenfolge) erstellt:
Sie verwenden es dann als:
Map<String, String> dictionary = new Map<String, String>();
Das funktioniert richtig.
quelle
dictionary["key"]
wird nicht funktionieren - es sollte seindictionary.get("key")
.Verwenden Sie die Map-Schnittstelle und eine Implementierung wie HashMap
quelle
Es gibt ein abstraktes Klassenwörterbuch
http://docs.oracle.com/javase/6/docs/api/java/util/Dictionary.html
Dies erfordert jedoch eine Implementierung.
Java gibt uns eine nette Implementierung namens Hashtable
http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html
quelle
Dictionary
ist veraltet und keine der Implementierungen erweitert es.