我正在尝试实现字典(如实体书中)。我有一个单词列表及其含义。
Java提供了什么数据结构/类型来存储单词列表及其作为键/值对的含义。
如果有钥匙,我可以找到并返回值吗?
答案 0 :(得分:286)
你需要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"));
type of animal
答案 1 :(得分:71)
这会创建文本字典(字符串):
Map<String, String> dictionary = new HashMap<String, String>();
然后将其用作:
dictionary.put("key", "value");
String value = dictionary.get("key");
Works但是给出了一个错误,你需要保持构造函数类与声明类相同。我知道它继承自父类,但遗憾的是它在运行时会出错。
Map<String, String> dictionary = new Map<String, String>();
这很正常。
答案 2 :(得分:11)
使用Map interface和类似HashMap
的实施答案 3 :(得分:6)
有一个抽象类字典
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