String,Long无法映射到Map.Entry中的对象<string,long>

时间:2016-04-26 13:14:06

标签: java

我想在java中创建一个联系人列表。首先我创建了HashMap。名称的字符串和数字的长整数。然后我将HashMap对象插入到list.Now我必须显示添加的联系人。但是我收到Map.Entry无法映射到对象的错误

for(HashMap hashmapobject:listobj){
for(Map.Entry<String,Long> e:hashmapobject.entrySet())
//to get values in hashmap
}

3 个答案:

答案 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循环。