Groovy Maps に関する私の質問です。現在のエントリを上書きせずに、Groovy マップに新しいエントリをプログラムで追加する方法を探していました。例えば
def editsMap = [:]
lineEdits.flag.each
{ lineEdits_Flag ->
editsMap.put('FlagId',lineEdits_Flag.id)
editsMap.put('FlagMnemonic',lineEdits_Flag.mnemonic)
editsMap.put('Action',lineEdits_Flag.action)
println "editsMap: ${editsMap}"
}
最初のパスで次のマップが生成されます:
editsMap: [FlagId:10001, FlagMnemonic:TRA, Action:review]
しかし、2 番目のパスは、最初のパスを editsMap: [FlagId:10002, FlagMnemonic:REB, Action:deny] で上書きします。
私がやろうとしているのは、1 つのマップ内に複数のエントリを作成することです。次のようなものを設定するには、マップが必要です。
editsMap: [FlagId:10001, FlagMnemonic:TRA, Action:review]
editsMap: [FlagId:10002, FlagMnemonic:REB, Action:deny]
editsMap: [FlagId:10003, FlagMnemonic:UNB, Action:deny]
editsMap: [FlagId:20001, FlagMnemonic:REB, Action:deny]
editsMap: [FlagId:20002, FlagMnemonic:ICD, Action:review]
editsMap: [FlagId:30001, FlagMnemonic:REB, Action:deny]
editsMap: [FlagId:40001, FlagMnemonic:ICD, Action:review]
editsMap: [FlagId:40002, FlagMnemonic:MPR, Action:review]
editsMap: [FlagId:50001, FlagMnemonic:CPT, Action:deny]
editsMap: [FlagId:60001, FlagMnemonic:DTU, Action:deny]
editsMap: [FlagId:70001, FlagMnemonic:ICD, Action:review]
editsMap: [FlagId:70002, FlagMnemonic:MPR, Action:review]
マップにデータを入力したら、メッセージを処理するために特定の値を見つけることができる必要があります。私は次のようなものを使用できると信じています:
def thisValue = appliedEditsMap[FlagId, '10001'] ?: "default"
クイックルックアップを行います。
マップに既にある値を上書きせずに、Groovy マップにプログラムで値を追加する方法を誰かが理解するのを手伝ってくれますか?