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/