我需要直接用hashmap值检查我的变量值。
我的hashmap值在string中都有两个条目,我需要用hashmap的第一个条目检查我的变量值。
上面的代码版本较小。
HashMap<String , String> directory = new HashMap<String , String>();
directory.put("AFG","Afghanistan");
directory.put("GBR","United Kingdom of Great Britain and Northern Ireland");
directory.put("IDN","Indonesia");
directory.put("IND","India");
接下来我使用了扫描仪类来获取用户的价值。然后我需要知道的是如何将这个用户的值与第一个hashmap即AFG,GBR等进行比较
整个程序的示例代码是:
import java.util.*;
public class hashmapdemo {
public static void main(String args[]) {
HashMap<String , String> directory = new HashMap<String , String>();
directory.put("AFG","Afghanistan");
directory.put("GBR","United Kingdom of Great Britain and Northern Ireland");
directory.put("IDN","Indonesia");
directory.put("IND","India");
Scanner sc = new Scanner(System.in);
String name = sc.nextLine();
System.out.println(name);
// comparing logic ?
}
}
答案 0 :(得分:0)
你只需要
directory.get(name);
这将返回国家/地区的名称。
为了避免NullPointerException:
String countryName = directory.get(name);
if (countryName != null) {
// use your countryName variable
}
这比调用另一种不必要的方法(如directory.containsKey(name);
答案 1 :(得分:0)
首先,为防止出现nullPointer异常,您需要确保HashMap
包含用户输入密钥:
directory.containsKey(key)
如果成功,则可以返回相应密钥的值:
return directory.get(key);
String key = sc.nextLine();
if(directory.containsKey(key))
{
return directory.get(key);
}