Je dois remplir une carte afin que:Liste en tant que valeur de carte dans Grails
- La clé est une chaîne
- La valeur est une liste de chaînes
Le processus est d'aller à travers tous les enregistrements dans une table qui a deux champs de texte: "paramètre" et "valeur". "Parameter" n'est pas unique et a beaucoup de doublons. Donc ce que j'ai l'intention de faire est:
def all = MyTable.findAll()
def mymap = [:]
all.each {
// add to mymap the element "it.value" to the list that has "it.parameter" as key
}
Des indices?
Merci
En aparté, avec Groovy 1.8+, vous pouvez faire ce qui suit 'all.groupBy {it.parameter} .collectEntries {k, v -> [(k): v * .value]} 'qui est potentiellement plus simple encore :-) –
Aussi, avant Groovy 1.8 vous pouvez faire:' all.groupBy {it.parameter} .inject ([:]) { map, val -> map << [(val.key): val.value * .value]} ' –
mais je suppose que ce qui précède est plus lisible. –