0

のようなマップがたくさんありますMap(String, Object)

map1
map2
....
mapN

すべてのマップで最初のパラメーターが等しいこれらのキーと値のペアのみを含むマップを受け取る必要があります。retainAllメソッドを使用してそれを行うことはできますか?

4

2 に答える 2

1

はい。セットの1つを取得retainAllし、他のすべてで使用します。残りの要素はすべてのセットに共通です。

欠落しているステップは、マップのすべてのキーをとして取得することですSet。これは、Map.keySet()

retainAllはオプションとしてマークされているため、Setreturnedbyの実装では実装されていない可能性があることに注意してくださいMap.keySet。その場合は、元のセットをパラメーターとして渡すことをサポートする新しいSetインスタンスを作成します。

于 2012-10-16T09:21:21.053 に答える
1

はい、あなたはそれを使用してそれを行うことができますretainAll

map1.keySet().retainAll(map2.keySet());
map1.keySet().retainAll(map3.keySet()); //etc

最後map1に、すべてのマップのすべてのキーが交差するため、これらのキーは一般的であり、値を簡単に取得できます。

于 2012-10-16T09:21:30.247 に答える