1

具体来说,我想在“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.
}

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

4

2 回答 2

5

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

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

entrySet是您的所有键/值对Map

于 2013-04-25T18:44:50.443 回答
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));
    }
于 2013-04-25T18:47:39.410 回答