我试图实现一个字典(在物理书)。我有一个单词及其含义的列表。
Java提供了什么样的数据结构/类型来将单词列表及其含义存储为键/值对?
给定一个键,如何找到并返回值?
使用地图界面和类似HashMap的实现
有一个抽象类字典
http://docs.oracle.com/javase/6/docs/api/java/util/Dictionary.html
然而,这需要实施。
Java提供了一个很好的实现,叫做哈希表
http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html
这将创建文本(字符串)字典:
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<String, String>。实现Map接口的类包括(但不限于):
Map<String, String>
Map
HashMap
LinkedHashMap
Hashtable
每个都是针对特定情况设计/优化的(更多信息请参阅它们各自的文档)。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