我想在java中创建一个联系人列表。首先我创建了HashMap。名称的字符串和数字的长整数。然后我将HashMap对象插入到list.Now我必须显示添加的联系人。但是我收到Map.Entry无法映射到对象的错误
for(HashMap hashmapobject:listobj){
for(Map.Entry<String,Long> e:hashmapobject.entrySet())
//to get values in hashmap
}
答案 0 :(得分:0)
for (String key : map.keySet()) {
Long l = map.get(key);
}
尝试使用此方法迭代hashmap。通过使用上面的循环,您将获得密钥作为字符串,并通过提供密钥,您可以从地图中获取对象。
答案 1 :(得分:0)
HashMap hashmapobject:listobj
它等于:HashMap,所以entrySet()返回Entry&lt;对象,对象&gt;,不是&lt;字符串,长&gt;。 您应该使用HashMap&lt;字符串,长&gt; hashmapobject:listobj();
或者你可以这样写:
for (Map.Entry entry : e:hashmapobject.entrySet()) {
final String key = (String)entry.getKey();
final Long val = (Long) ...
}
答案 2 :(得分:0)
使用Map.Entry:
Map<String, String> map = new HashMap<String, String>();
map.put("1", "Jan");
map.put("2", "Feb");
map.put("3", "Mar");
//loop a Map
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey() + " Value : " + entry.getValue());
}
您应该为哈希映射提供泛型,以便使用Map.Entry
循环。