2010-04-08 53 views
0

可能過於簡單常規的問題,但....請幫助如何年齡增加ageList = [12,13,23]

我有一個這樣的名單:

def ageList =[12,13,23] 

我想得到這個:

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

有人可以幫我嗎?

非常感謝你!

回答

0

不知道這是否可能,因爲你想使用相同的地圖關鍵字'年齡'爲三個不同的值。您將最終用新值覆蓋現有值。

+0

謝謝!如何使用List.add()來創建一個新的列表? DEF rawLines = [1,2,3] DEF線= [] rawLines.each { lines.add( 「好」) } 我上面試過,不工作.. 我只是學習groovy .... – john 2010-04-08 00:39:58

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]]

不幸的是,你不能像上面顯示的地圖那樣做,因爲地圖鍵必須是唯一的。

真的這一切都取決於你想要做的結果。

+0

這正是我要找的! 謝謝你百萬!!!!! – john 2010-04-08 00:45:35

+0

很高興能幫到你! – ig0774 2010-04-08 00:47:03