262

私は辞書を実装しようとしています (物理的な本のように)。単語とその意味のリストがあります。

単語とその意味のリストをキーと値のペアとして格納するために、Java が提供するデータ構造/型。

キーを指定して、どのように値を見つけて返すことができますか?

4

4 に答える 4

343

が必要になります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"));
動物の種類
于 2012-11-24T17:13:06.250 に答える
92

これにより、テキスト (文字列) の辞書が作成されます。

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>();

これは正常に動作します。

于 2012-11-24T17:09:49.600 に答える
10

Map インターフェイスとHashMapのような実装を使用する

于 2012-11-24T17:09:42.127 に答える
8

抽象クラス辞書があります

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

于 2012-11-24T17:09:46.700 に答える