2017-01-30 2 views
0

私は、私は基本的になり、結果マップを作成したいと考え、次のよう1つのマップの値を取り、それを作ることにより、グルーヴィーで別のマップのキーを新しいマップを作成し

def map1 = ['a':1,'b':2] 
def map2 = ['a':345,'c':10,'b':1] 

に2つのマップを持っています2つのマップのキーを照合し、map1の値をmap2のキーと値として値そのものとします。出力は次のようになります。

map3=[1:345,2:1] 

答えて

2

あなたが単純なループで簡単にこれを行うことができます。

map3 = map1.collectEntries { key, val -> [(val): map2[key]] } 
+0

ああ!!はい...それは簡単に確かだった... – anonymous

+1

...ありがとう代わりに 'collectEntries'を使用します:' map1.collectEntries {k、v - > [v、map2 [k]]} ' – cfrick

+0

' collectEntries'は空のマップを作成する必要がないので、より良い解決策です。今度は少し汚いと感じるループでそれを変異させてください... –

関連する問題