Мой вопрос с Groovy Картами. Я искал способ программно добавить новую запись в карту 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, Действие: обзор]
Но второй проход перезаписывает первый проход: editsMap: [FlagId: 10002, FlagMnemonic: REB, Действие: deny]
То, что я пытаюсь сделать, это создать несколько записей внутри одной карты. Мне нужна моя карта, чтобы заполнить что-то вроде этого:
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, не перезаписывая значения, уже существующие на карте?