我正在从一个文本文件中读取数据,并希望将HashMap存储在另一个HashMap中。
HashMap<string,HashMap<string,value>>如何存储和检索数据?任何示例代码都将不胜感激。谢谢你
发布于 2011-02-20 19:27:14
示例:
创建和填充地图
Map<String, Map<String, Value>> outerMap = new HashMap<String, HashMap<String, Value>>();
Map<String, Value> innerMap = new HashMap<String, Value>();
innerMap.put("innerKey", new Value());存储地图
outerMap.put("key", innerMap);检索地图及其值
Map<String, Value> map = outerMap.get("key");
Value value = map.get("innerKey");发布于 2011-02-20 20:48:13
创建两个简单的Hashmap: InnerMap和OuterMap
HashMap<String, HashMap<String, String>> outerMap = new HashMap<String, HashMap<String,String>>();
HashMap<String, String> innerMap = new HashMap<String, String>();填充HashMaps
innerMap.put("InnerKey", "InnerValue");
outerMap.put("OuterKey", innerMap);从HashMaps中检索值
String value = ((HashMap<String, String>)outerMap.get("OuterKey")).get("InnerKey").toString();
System.out.println("Retreived value is : " + value);发布于 2011-02-20 20:38:04
可以这么说,你得到了一个看起来像二维HashMap的东西。这意味着你需要2个字符串来存储一个值,也需要检索一个值。
例如,你可以编写一个类来包装这种复杂性,就像这样(未测试的代码):
public class HashMap2D<T> {
private HashMap<String,HashMap<String,T>> outerMap;
public HashMap2D() {
outerMap = new HashMap<String,HashMap<String,T>>();
}
public void addElement(String key1, String key2, T value) {
innerMap=outerMap.get(key1);
if (innerMap==null) {
innerMap = new HashMap<String,T>();
outerMap.put(key1,innerMap);
}
innerMap.put(key2,value);
}
public T getElement(String key1, String key2) {
Hashmap innerMap = outerMap.get(key1);
if (innerMap==null) {
return null;
}
return innerMap.get(key2);
}
}如果您希望方法一次处理多个数据,则会更加复杂,但遵循相同的原则。
https://stackoverflow.com/questions/5056708
复制相似问题