可能是太简单的常规问题但是....请帮忙
我有一个这样的清单:
def ageList =[12,13,23]
我想得到这个:
def newAgeList =[age:12,age:13,age:23]
有人可以帮助我吗?
非常感谢你!
答案 0 :(得分:3)
这对你有用吗?
def newAgeList = ageList.inject([:]) { map, item -> if (!map['age']) map['age'] = []; map['age'] << item; map }
他的结果是:['age':[12, 13, 23]]
否则,您可以将字面值视为:
def newAgeList = ageList.collect { "age:$it" }
他的结果是:['age:12', 'age:13', 'age:23']
第三种选择:
def newAgeList = ageList.collect { ['age':it] }
这会导致:[['age':12], ['age':13], ['age':23]]
不幸的是,您无法像上面显示的那样执行此操作,因为地图键必须是唯一的。
真的,这完全取决于你要对结果做些什么。
答案 1 :(得分:0)
不知道这是否可行,因为你想为三个不同的值使用相同的地图键'age'。您最终会用新值覆盖现有值。