选择最佳数据结构

Asi*_*chi 0 java data-structures

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

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

编辑

名字是独一无二的.需要做的是这样的事情.有人怀疑使用Hashmap,为什么我问. 代码是STRING

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

mor*_*s05 5

如果名称是唯一的,那么HashMap将是适当的.

您可以使用迭代遍历键keys().

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

如果您需要执行反向查找,可以使用Guava中的BiMap.(一般非常好的图书馆)

地图条目示例:

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);
      }
    }
  }

}
Run Code Online (Sandbox Code Playgroud)

但既然NAME似乎是一个常数,你可以简单吗String code = map.get(NAME)