我需要填充一張地圖,這樣:列表,Grails中映射值
- 關鍵是字符串
- 值是字符串列表
的過程是去通過具有兩個文本字段的表格中的所有記錄:「參數」和「值」。 「參數」不是唯一的,有很多重複。所以我打算做的是:
def all = MyTable.findAll()
def mymap = [:]
all.each {
// add to mymap the element "it.value" to the list that has "it.parameter" as key
}
任何線索?
感謝
另外,使用Groovy 1.8+,您可以執行以下所有操作'all.groupBy {it.parameter} .collectEntries {k,v - > [(k):v * .value]}'這可能更簡單一些:-) – 2011-02-28 13:51:28
此外,在Groovy 1.8之前,您可以這樣做:'all.groupBy {it.parameter} .inject([:]){地圖,val - > map << [(val.key):val.value * .value]}' – 2011-03-01 13:00:08
但我認爲上面更具可讀性。 – 2011-03-01 13:58:33