Java - 如何从LinkedHashMap中获取一对?

时间:2013-04-25 18:42:56

标签: java key-value linkedhashmap

具体来说,我想在“for each”循环中使用LinkedHashMap。例如,假设我创建了LinkedHashMap:

LinkedHashMap<String, Integer> someHash = new LinkedHashMap<String, Integer>();

然后我填写了一些东西:

someHash.put("One", new Integer(1));
someHash.put("Two", new Integer(2));

现在我怎么能够通过并获得每一对?我想要的是:

for(<String, Integer> pair : someHash)
{
    //Do stuff.
}

但当然这不起作用。有没有一种简单的方法从哈希中检索“对”对象?或者我只需要遍历长度并分别获取值和键?另外,如果是这种情况,我真的应该使用不同的对象吗?

2 个答案:

答案 0 :(得分:5)

您可以使用Map.Entry来模拟C ++中存在的Pair对象。

for(Map.Entry<String, Integer> entry : someHash.entrySet()) 
{
   System.out.println("Key: " + entry.getKey() + " Value: " + entry.getValue());
}

此处entrySet是您Map的所有键/值对。

答案 1 :(得分:0)

像这样使用

    LinkedHashMap<String, Integer> someHash = new LinkedHashMap<String, Integer>();
    someHash.put("One", new Integer(1));
    someHash.put("Two", new Integer(2));

    for(String key : someHash.keySet())
    {
         System.out.println("Key : "+key + "  Value : "+someHash.get(key));
    }