私は辞書を実装しようとしています (物理的な本のように)。単語とその意味のリストがあります。
単語とその意味のリストをキーと値のペアとして格納するために、Java が提供するデータ構造/型。
キーを指定して、どのように値を見つけて返すことができますか?
私は辞書を実装しようとしています (物理的な本のように)。単語とその意味のリストがあります。
単語とその意味のリストをキーと値のペアとして格納するために、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