【问题标题】:How to create a dictionary in java [closed]如何在java中创建字典[关闭]
【发布时间】:2021-02-27 14:08:44
【问题描述】:

我能获得一些关于在 java 中创建字典的帮助吗?我尝试将其创建为

Dictionary<String, Integer> dict = new Dictionary<String, Integer>(); 

但我无法运行它,因为 ide 没有显示出了什么问题,而是将运行按钮显示为灰色。

【问题讨论】:

  • 对象 Dictionary 是否存在于某处?如果没有,您必须先创建一个名为 Dictionary 的 API,其中包含您需要的所有方法,然后才能使用它。
  • 是的,我导入了它。
  • 在 Java 中,这称为Map。一个常见的实现是HashMap
  • 一件事可以帮助您显示错误是什么。
  • 请阅读“如何创建minimal reproducible example”。然后使用edit 链接改进您的问题(不要通过 cmets 添加更多信息)。否则我们无法回答您的问题并为您提供帮助。

标签: java dictionary


【解决方案1】:

您应该为此使用java API documentation

通过使用它或一些基本的网络搜索,您会发现 java 具有“字典”的概念,但它被称为 Map。存在具有不同属性的各种实现。例如,如果您希望它在字符串键上连续排序:

Map<String, Integer> dict = new TreeMap<>();

最基本的版本是:

Map<String, Integer> dict = new HashMap<>();

注意:是的,有java.util.Dictionary。但是,这就是这些文档如此重要的原因:Dictionary doc 明确指出:

注意:此类已过时。新的实现应该实现 Map 接口,而不是扩展这个类。

所以,不要尝试使用它。

【讨论】:

  • 在java中实际上有一个Dictionnary类,它在java.util下
  • “TreeMap”和“HashMap”有什么区别?
  • @JeannotMn 哈哈!哇,是的,有。我会更新答案。
  • @BoomCode10010011 TreeMap 就像电话簿:如果你想在电话簿中添加,比如“Mr. Anthony”,你到中间,看到“Miyagi”,然后你可以丢弃电话簿的“上半部分”——插入的地方在前半部分。所以你去一半的前半部分,等等。继续,直到你找到添加它的地方。那是一个 TreeMap - 它根据它们的排序顺序插入条目。 HashMap 只存储未排序的东西(而且速度很快)。
【解决方案2】:

在 Java 中,您使用 Map 作为字典。

Map<Integer, String> dict = new HashMap<>();

【讨论】:

  • 是否使用相同的键、值概念?
  • 是的。在此示例中,Integer 是键,String 是值。你可以查看MaphereHashmaphere上的文档
猜你喜欢
  • 2012-11-12
  • 2013-05-12
  • 2015-01-23
  • 2021-09-28
  • 2015-03-07
  • 2014-06-12
  • 1970-01-01
  • 2019-12-04
相关资源
最近更新 更多