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 回答