我有邏輯在我的後處理來處理的裝置和文件的值如下:(改變了這種從地圖,因爲它是重寫的值設置)轉換設定爲地圖常規
def deviceFiles = devices.inject([] as Set) { deviceFiles, device ->
def v = device.key.split(/\./)[0]
deviceFiles << [ (device.value), files[ v ] ]
}
輸出: deviceFiles:[[宏基C6,Tetris.apk],[摩托羅拉Droid Milestone,Tetris.apk],[宏基C6,TheSims3.apk],[HTC Desire,TheSims3.apk]] - 看起來很好顯示
這些值將作爲地圖/屬性傳遞,以便在沒有任何投射異常的情況下正確顯示數據,我發現這些數據很難。
當通過該組環
deviceFiles.each { device ->
mapping.put("${device}", "${file}")
}
輸出:映射:[HTC慾望:TheSims3.apk,摩托羅拉Droid里程碑:Tetris.apk,宏基C6:Tetris.apk] - 這是不正確(宏碁C6:TheSims3.apk已被覆蓋)
我在這裏丟失的東西發送預期值到地圖?或者無法通過地圖發送設置的值(因爲當我通過設備迭代時地圖總是消除重複的)。
我的常規版本不支持collectEntries,所以我已經注射 – Techie
.collect {}實現應該工作一樣.collectEntries {} –
@JarredOlson,collect {}可以工作,但我的要求並沒有在這裏實現,因爲它的說法不能將對象數組列表轉換爲屬性...嗯... – Techie