gpt4 book ai didi

grails - 将集合转换为 Map Groovy

转载 作者:行者123 更新时间:2023-12-02 01:18:25 24 4
gpt4 key购买 nike

我在后处理中有我的逻辑来处理设备和文件的值,如下所示:(将其更改为从 map 设置,因为它覆盖了值)

def deviceFiles = devices.inject([] as Set) { deviceFiles, device ->
def v = device.key.split( /\./ )[0]
deviceFiles << [ (device.value), files[ v ] ]
}

输出:deviceFiles :[[Acer C6, Tetris.apk], [Motorola Droid Milestone, Tetris.apk], [Acer C6, TheSims3.apk], [HTC Desire, TheSims3.apk]] --- 看起来不错待显示

这些值将作为 map /属性传递,以便数据能够正确显示,而不会出现任何强制转换异常,我发现这很困难..

当它循环通过集合时

deviceFiles.each { device  ->
mapping.put("${device}", "${file}")
}

输出:映射:[HTC Desire:TheSims3.apk、Motorola Droid Milestone:Tetris.apk、Acer C6:Tetris.apk] -- 这是不正确的(Acer C6:TheSims3.apk 已被覆盖)

在将预期值发送到 map 时我是否遗漏了一些东西?或者无法通过 map 发送设置的值(因为当我迭代设备时 map 总是消除重复项)???

最佳答案

您可以使用collectEntries :

def deviceFiles = devices.collectEntries {
device -> [device.value, device.key.split(/\./)[0]]
}

关于grails - 将集合转换为 Map Groovy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8972881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com