我正在尝试从列表填充地图。这就是我在做什么。
itemNoList = [1,2,3,4]
bookMap = [:]
bookMap = itemNoList.collect{ [ (it) : it+1 ] }
当我这样做时,bookMap变为ArrayList类型,现在有一个HashMap列表。
bookMap
现在是[{1=2}, {2=3}, {3=4}, {4=5}]
,即地图列表。
如何使用collect
方法从ArrayList获取HashMap?使用each
代替collect
可以很容易地解决这个问题,但我只是好奇它是否可以使用collect
来解决。
答案 0 :(得分:11)
你很幸运! collectEntries
方法的处理方式与collect
类似,但对于Map!
groovy:000> itemNoList = [1, 2, 3, 4]
===> [1, 2, 3, 4]
groovy:000> itemNoList.collectEntries { [(it): it+1] }
===> {1=2, 2=3, 3=4, 4=5}