如何使用String
指定特定的HashMap
。
例如:
public static ConcurrentHashMap<String, Integer> age = new ConcurrentHashMap<String, Integer>();
String s = "age";
s.get("Nick");
答案 0 :(得分:0)
如果您想将某人的姓名映射到他们的年龄,您需要
Map<String,Integer> age = new HashMap<>(); // only use ConcurrentHashMap if you intend
// to use that Map from multiple threads
...
age.put("Nick",42);
...
int nicksAge = age.get("Nick");
答案 1 :(得分:0)
public class HashMapTest {
public static HashMap<String, Integer> ageMap = new HashMap<String, Integer>();
public static void main(String[] args) {
ageMap.put("Nick", 12);
Integer age = ageMap.get("Nick");
System.out.println(age);
}
}
答案 2 :(得分:0)
您可以使用Generics实现此目的
https://docs.oracle.com/javase/tutorial/java/generics/
Generics允许您指定地图的类型。所以不要使用
public static ConcurrentHashMap age = new ConcurrentHashMap();
您可以使用
public static Map<String, Short> age = new ConcurrentHashMap<>();
或任何其他形式的地图,例如
public static Map<String, Integer> ageMap = new HashMap<>();
这简化了get和put操作。
而不是编写诸如
之类的代码Object o = ageMap.get("Nick");
if(o instanceof Integer) {
Integer age = (Integer) o;
}
你可以简单地写
Integer age = ageMap.get("Nick");