1

私は次のようにマップを使用しています

Map<String, String> propMap = new LinkedHashMap<String, String>();

そして、(キーのリストを取得するために)使用できる2つの方法とkeySet()、値のリストを取得するための値があることがわかりましたが、私の質問は、たとえばkey1の場合、値は2です。

次のように get value を使用することを考えました

    Map<String, String> propMap2 = propterm.getPropMap();
    Set<String> keySet = propMap2.keySet();

しかし、それを彼のそれぞれの価値にどのように関連付けますか?

4

1 に答える 1

5

andのすべてのペアを使用する場合は、 ofpropMap.entrySet()を返すメソッドを使用できます。Map.Entrykey, valuekeyvalue

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

または、 でこれを行う方法を知りたい場合は、取得propMap.keySet()した を反復処理し、Set<Key>キーごとに を使用propMap.get(key)して、特定のキーの値を取得できます。

Set<String> keySet = propMap2.keySet();

for (String key: keySet) {
    System.out.println(propMap.get(key));
}

この投稿からの回答から: -

後者のアプローチでは、ペアに定期的にアクセスしている場合、key-valueキーごとにmap.get()メソッドが呼び出されます。これは、a の場合、関連付けられた値を見つけるためにオブジェクトのメソッドとメソッドを評価するHashMap必要があります*。最初のケースでは、余分な作業がなくなります。hashCode()equals()key(entrySet)

于 2012-11-25T11:07:42.243 に答える