gpt4 book ai didi

java - 从groovy中的列表创建 map 的快捷方式?

转载 作者:IT老高 更新时间:2023-10-28 11:26:43 26 4
gpt4 key购买 nike

我想要一些排序方法:

Map rowToMap(row) {
def rowMap = [:];
row.columns.each{ rowMap[it.name] = it.val }
return rowMap;
}

鉴于 GDK 的方式,我希望能够执行以下操作:

Map rowToMap(row) {
row.columns.collectMap{ [it.name,it.val] }
}

但我没有在文档中看到任何内容...我错过了什么吗?还是我太懒了?

最佳答案

我最近遇到了这样做的需要:将列表转换为 map 。这个问题是在Groovy 1.7.9 版本出来之前发的,所以方法 collectEntries 还不存在。它与 collectMap 完全相同。方法that was proposed :

Map rowToMap(row) {
row.columns.collectEntries{[it.name, it.val]}
}

如果由于某种原因你被旧版本的 Groovy 卡住了, inject 也可以使用方法(如建议的 here )。这是一个稍作修改的版本,在闭包中只使用一个表达式(只是为了节省字符!):

Map rowToMap(row) {
row.columns.inject([:]) {map, col -> map << [(col.name): col.val]}
}

+也可以使用运算符代替 << .

关于java - 从groovy中的列表创建 map 的快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18538/

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