我需要將對(字符串,對象)保存到散列表中。基本上我設法填充hashmap,但我不知道如何訪問存儲在內存中的值。 這是我的代碼:從hashmaps讀取對象內容
HashMap<String, speedDial> SDs = new HashMap<String, speedDial>();
speedDial sd = new speedDial();
SDs.put(String.valueOf(temp),sd); whre temp is my index and sd my object
然後我填的數據插入SD從XML文件中讀取它們。
當調試與eclypse我可以看到值正確存儲到內存中的項目,但我不知道如何以檢索相關對象的字符串值,請參閱SD對象格式如下
class speedDial{
String label, dirN;
speedDial (String l, String dN) {
this.label = l;
this.dirN = dN;
}
}
請參見下圖:它突出顯示了我試圖訪問的數據! enter image description here
當我嘗試訪問HashMap和打印出來的價值,我只拿到了最後一個,我用的是以下幾點:
for (int k = 0; k <50; k++) {
speedDial.printSD(SDs.get(String.valueOf(k)));
}
這是我從快速撥號類採取printSD方法:
public static void printSD (speedDial SD) {
System.out.println("Dir.N: " + SD.dirN + " Label: " + SD.label);
}
這是所有50次迭代的輸出,這是我在另一個循環中從哈希映射中讀取xml文件時添加到哈希映射中的最後一個元素。
Dir.N:123450標籤:label5
參見[這裏](https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html#get %28java.lang.Object%29)... – Mena
https://docs.oracle.com/javase/tutorial/collections/interfaces/map.html – ChadNC