Groovyには2つのマップをマージする方法がありますか?


85

最初のマップはデフォルトのオプション[a: true, b: false]です。2番目のマップ-ユーザーから渡されたオプション[a:false]。Groovyには、取得するためのマップマージメソッドがあり[a: false, b:false]ますか?

Groovyに実装しても問題ありません。私は箱から出して方法について尋ねています

回答:


176

プラスを使用できます:

assert [ a: true, b: false ] + [ a: false ] == [ a: false, b: false ]

または左シフト:

assert [ a: true, b: false ] << [ a: false ] == [ a: false, b: false ] 

違いは<< 、右側のマップを左側のマップに追加することです。を使用する+、LHS基づいて新しいマップが作成され、右側のマップが追加されます。


また、あなたが使用できるとき、ことは注目に値する多分+、あなたも使用することができます+=def m1 =[ a: true, b: false ]; m1 += [ a: false ] ; println (m1 == [ a: false, b: false ])
パトリスM.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.