我試圖將HashMap保存在另一個HashMap中。HashMap.put沒有按預期工作
當我在內部散列表中保存一個鍵和值時,問題就出現了。
當我嘗試恢復該值時,總是返回null。
這就像HashMap不工作......爲什麼?
我嘗試創建一個全局變量的保護,最終..並沒有什麼:(
protected final Map<Integer,Map> HMG = new HashMap<Integer,Map>(); //GLOBAL VARAIBLE
List<org.jdom2.Element> hijos = root.getChildren();
for(int i=0 ; i < hijos.size(); i++) {
org.jdom2.Element elem = hijos.get(i);
String file = elem.getName();
HMG.put(i, new HashMap<String, String>());
System.out.println("Hashmap saved to "+ i+" "+file);
System.out.println(file + i);
List<org.jdom2.Element> hijos2 =elem.getChildren();
for (org.jdom2.Element e : hijos2){
guardarAtributos(e,i);
}
}
public void guardarAtributos(org.jdom2.Element elemento,Integer orden) {
List<org.jdom2.Attribute> atributos=elemento.getAttributes();
Map<String,String> a =HMG.get(orden);
for (org.jdom2.Attribute atrib : atributos) {
a.put(atrib.getName(), atrib.getValue());
System.out.println("Writting into miniHashMap ===> "+atrib.getName()+" "+" "+atrib.getValue());
System.out.println("Testing:::::"+ a.get(0));
}
}
輸出是:
Hashmap saved to 0 Number
Number0
Writting into miniHashMap ===> value 3
Testing:::::null
Writting into miniHashMap ===> value 1
Testing:::::null
Writting into miniHashMap ===> value 4
Testing:::::null
Hashmap saved to 1 Number
Number1
Writting into miniHashMap ===> value 88
Testing:::::null
編輯!: 謝謝你,但是當IM triying到使用
public void recuperarHashMap(Integer orden){
Map<String,String> hash= HMG.get(orden);
for(Entry<String, String> entry: hash.entrySet()) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
測試類別:
a.recuperarHashMap(0);
a.recuperarHashMap(1);
輸出:
value
4
value
88
我只得到了最後一個值!爲什麼?!!!非常感謝你:)我是一個noob! :(
EDIT2!
的XML就是這樣(用EMF工具編輯器製作)
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:language1="language1">
<language1:Number id="PI">
<has value="3"/>
<has value="1"/>
<has value="4"/>
</language1:Number>
<language1:Number id="888">
<has value="88"/>
</language1:Number>
</xmi:XMI>
如果它不」什麼都不放,放什麼? – imulsion 2013-03-25 19:19:48