java - 选择最佳数据结构

标签 java data-structures

Name - Code (String)
A    - 123
B    - 123 
C    - 23
D    - 123
E    - 23
F    - 23
G    - 66
H    - 66

表示该数据的最佳数据结构是什么。名称应该能够轻松迭代。

编辑

名称是唯一的。 需要做的就是这样的事情。 对使用 Hashmap 有疑问,这就是我问的原因。 代码是一个字符串

for( loop dataStructure names (lets say n)){ 
   if(NAME.equals(n){
     String code = dataStructure.get(n);
     do somthing 
   }
}

最佳答案

如果名称是唯一的,则 HashMap 是合适的。

您可以使用keys()迭代键。

要迭代条目,您可以迭代entrySet()。 请参阅 Map 的 JavaDoc

如果您需要执行反向查找,您可以使用 BiMap来自 Guava 。 (总体来说是一个很好的库)

map 条目示例:

public final class MapExample {

  public static void main(String[] args) {
  Map<String, String> map = new HashMap<>();
    map.put("A", "123");

    for (Map.Entry<String, String> mapEntry : map.entrySet()) {
      if (mapEntry.getKey().equals("A")) {
        final String code = mapEntry.getValue();
        System.out.println("Your desired code: " + code);
      }
    }
  }

}

但是由于 NAME 似乎是一个常量,您可以简单地执行 String code = map.get(NAME)

关于java - 选择最佳数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31311214/

相关文章:

java - Forerground 服务初始化后无法更新通知文本;上下文问题

java - 设置新的 jtree 模型后 JTree 刷新

language-agnostic - 是否也可以通过索引访问来实现链表?

c - C中的简单链表(2): Trash result

algorithm - 如何降低时间复杂度

java - 如何从 Java 中确定安装了哪个 .NET 框架

java - 中文 UTF-8 字符在 Weblogic 10.3 中显示不正确,但在 Tomcat 6 中则不然

algorithm - 数据结构 - 访问和索引的大 O。他们到底是什么意思?

java - 在 primefaces 中绑定(bind)文件下载参数

c - 使用链表 C 选择排序