ben böylece Harita doldurmak gerekir:Liste
- Anahtar String
- değer
süreç gitmektir Strings bir listesi olduğunu İki metin alanına sahip bir tablodaki tüm kayıtlar aracılığıyla: "parametre" ve "değer". "Parametre" benzersiz değildir ve çok sayıda kopyası vardır. Bunu yapmak istediğim şey şu:
def all = MyTable.findAll()
def mymap = [:]
all.each {
// add to mymap the element "it.value" to the list that has "it.parameter" as key
}
Herhangi bir ipucu?
Teşekkür
Bir arada, Groovy 1.8+ ile aşağıdakileri yapabilirsiniz: all.groupBy {it.parameter} .collectEntries {k, v -> [(k): v * .value]} 'yine daha basit olan :-) –
Ayrıca, Groovy 1.8'den önce şunları yapabilirsiniz:' all.groupBy {it.parameter} .inject ([:]) { harita, val -> harita << [(val.key): val.value * .value]} ' –
fakat yukarıdakilerin daha okunabilir olduğunu varsayalım. –