3

HashmapオブジェクトmyMapがあり、それにキーと値のセットが含まれているとします。

key1, value1
key2, value2
...
...

合計30個のキーがあるとしましょう。

今、私はキーのリストを取得しています:key1, key2....,28があると言います。

myMapオブジェクトをチェックし、キーのリストにないキーを削除するための最良の方法は何ですか?ハッシュマップキーセットを反復処理して、リスト内の各キーセットを比較する必要がありますか?

ありがとう。

4

2 に答える 2

6

マップからキーのセットを取得します。セットは地図に裏打ちされています。次に、retainAllを呼び出します。

Set<String> keys = myMap.keySet();
keys.retainAll(keyList);

これがメソッドに関するドキュメントkeySetです。

これがメソッドに関するドキュメントretainAllです。

于 2013-02-07T20:01:03.527 に答える
2

持っている各キーのメソッドを使用し、containsKeyメソッドが返された場合はfalse、それを削除します。別のオプションはを使用することMap#keySet#retainAllです。

于 2013-02-07T19:58:48.730 に答える