我需要将对(字符串,对象)保存到散列表中。基本上我设法填充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