necesito para llenar un mapa de modo que:lista como valor del mapa en griales
- La clave es una cadena
- El valor es una lista de cadenas
El proceso es ir a través de todos los registros en una tabla que tiene dos campos de texto: "parámetro" y "valor". "Parámetro" no es único y tiene muchos duplicados. Entonces, lo que intento hacer es:
def all = MyTable.findAll()
def mymap = [:]
all.each {
// add to mymap the element "it.value" to the list that has "it.parameter" as key
}
¿Alguna pista?
Gracias
Como un aparte, con Groovy 1.8+ puedes hacer lo siguiente 'all.groupBy {it.parameter} .collectEntries {k, v -> [(k): v * .value]} 'que es potencialmente más simple otra vez :-) –
Además, antes de Groovy 1.8 puedes hacer:' all.groupBy {it.parameter} .inject ([:]) { map, val -> map << [(val.key): val.value * .value]} ' –
pero supongo que lo anterior es más legible. –