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

C++ に存在するオブジェクトMap.Entryをシミュレートするために使用できます。Pair

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 に答える