我有一个 HashMap,它的键是某个类的对象,值是另一个 HashMap,键是字符串,值是 Double:
HashMap<MyClass, HashMap<String, Double>> myHashMap;
我需要一个循环,将键(对象)和值(HashMap)添加到这个 HashMap,但我不能在循环中创建一个新的 HashMap 变量作为它的“值”。本质上,每个 MyClass 对象都必须有带有对应双精度的字符串。
这可能吗?这还有什么意义吗??
例子:
YourClass someObject = new YourClass();
//putting object to map with empty hashMap value
myHashMap.put(someObject, new HashMap<String,Double>());
//adding String,Double to created before hashMap value
myHashMap.get(someObject).put("PI", 3.14);
你的意思是像:
Object objectKey;
String stringKey;
Double value;
.
.
.
loop
if(!myHashMap.containsKey(objectKey)){
myHashMap.put(objectKey, new HashMap<String, Double>());
}
HashMap<String, Double> accordingHashMap = myHashMap.get(objectKey);
accordingHashMap.put(stringKey, value)
endloop