如何将年龄添加到ageList = [12,13,23]

时间:2010-04-08 00:16:45

标签: list groovy

可能是太简单的常规问题但是....请帮忙

我有一个这样的清单:

def ageList =[12,13,23]

我想得到这个:

def newAgeList =[age:12,age:13,age:23]

有人可以帮助我吗?

非常感谢你!

2 个答案:

答案 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'。您最终会用新值覆盖现有值。