你如何用Java创建一个字典?

use*_*819 222 java dictionary key-value

我正在尝试实现字典(如实体书中).我有一个单词列表及其含义.

Java提供了什么数据结构/类型来存储单词列表及其作为键/值对的含义.

如果给一把钥匙,我能找到并返回价值吗?

ars*_*jii 300

你会想要一个Map<String, String>.实现Map接口的类包括(但不限于):

每个都针对某些情况进行设计/优化(有关更多信息,请访问各自的文档).HashMap可能是最常见的; 首选默认值.

例如(使用a HashMap):

Map<String, String> map = new HashMap<String, String>();
map.put("dog", "type of animal");
System.out.println(map.get("dog"));
Run Code Online (Sandbox Code Playgroud)
type of animal

  • 顺便说一下,你实际上不需要第二次包含<String,String>.你可以做`Map <String,String> map = new HashMap <>();` (5认同)

Sma*_*tK8 79

这会创建文本字典(字符串):

Map<String, String> dictionary = new HashMap<String, String>();
Run Code Online (Sandbox Code Playgroud)

然后你用它作为:

dictionary.put("key", "value");
String value = dictionary.get("key");
Run Code Online (Sandbox Code Playgroud)

Works但是给出了一个错误,你需要保持构造函数类与声明类相同.我知道它继承自父类,但遗憾的是它在运行时出错.

Map<String, String> dictionary = new Map<String, String>();

这工作正常.

  • 没错,可能是一些C#滑入:) (18认同)
  • `dictionary ["key"]`不起作用 - 它应该是`dictionary.get("key")`. (3认同)

Puy*_*ver 11

使用Map接口HashMap之类的实现


Cru*_*her 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

  • `Dictionary`已经过时,没有任何实现扩展它. (5认同)