私は(物理的な本のように)辞書を実装しようとしています。私は言葉とその意味のリストを持っています。
Javaが単語のリストとその意味をキー/値のペアとして格納するために提供するデータ構造/型は何ですか。
キーが与えられた場合、どうやって値を見つけて返すことができますか?
Map<String, String>
が欲しいでしょう。 Map
インターフェースを実装するクラスには以下が含まれます(ただし、これらに限定されません)。
それぞれが特定の状況に合わせて設計/最適化されています(詳細についてはそれぞれの文書を参照してください)。 HashMap
はおそらく最も一般的です。移動先のデフォルト.
例えば(HashMap
を使う):
Map<String, String> map = new HashMap<String, String>();
map.put("dog", "type of animal");
System.out.println(map.get("dog"));
動物の種類
これはテキスト(文字列)の辞書を作成します。
Map<String, String> dictionary = new HashMap<String, String>();
あなたはそれから:としてそれを使用します:
dictionary.put("key", "value");
String value = dictionary.get("key");
動作しますが、コンストラクタークラスを宣言クラスと同じにする必要があるというエラーが発生します。私はそれが親クラスから継承することを知っていますが、残念ながらそれは実行時にエラーを起こします。
Map<String, String> dictionary = new Map<String, String>();
これは正しく機能します。
Mapインターフェース および HashMap のような実装を使用してください。
抽象クラス辞書があります
http://docs.Oracle.com/javase/6/docs/api/Java/util/Dictionary.html
しかしこれには実装が必要です。
JavaはHashtableと呼ばれる素晴らしい実装を提供してくれます。
http://docs.Oracle.com/javase/6/docs/api/Java/util/Hashtable.html