将对列表收集到地图中

时间:2016-01-20 11:36:56

标签: groovy

我们如何收集价值对列表的列表到地图中,其中所述对被转换为地图中的key:value条目,如:

a = [[1,11], [2,22], [3,33]]
b = ...?
assert b == [1:11, 2:22, 3:33]

3 个答案:

答案 0 :(得分:4)

由于collectEntries适用于配对列表,您可以执行

def b = a.collectEntries()

答案 1 :(得分:1)

def b = a.collectEntries {[(it.get(0)): it.get(1)]}

答案 2 :(得分:1)

使用collectEntries,将Iterables(如列表)转换为地图:

a = [[1,11], [2,22], [3,33]]
b = a.collectEntries { [ (it.first()) : it.last() ] }
assert b == [1:11, 2:22, 3:33]
相关问题