List 是否有与Ruby';s#地图?
我意识到每个人都有支持 甚至还有 是否支持Groovy开箱即用的#map(没有任何类似的特殊库)List 是否有与Ruby';s#地图?,list,collections,map,groovy,List,Collections,Map,Groovy,我意识到每个人都有支持 甚至还有 是否支持Groovy开箱即用的#map(没有任何类似的特殊库) 您需要收集 groovy:000> [1,2,3,4].collect { num -> num + 1 } ===> [2, 3, 4, 5] 我希望这会有所帮助。您可以使用collect,如中所示 [1, 2, 3, 4].collect { it + 1 } 对于直接在集合中的每个对象上调用方法的情况,有一个使用扩展点运算符的较短语法: [1, 2, 3, 4]*.plu
您需要
收集
groovy:000> [1,2,3,4].collect { num -> num + 1 }
===> [2, 3, 4, 5]
我希望这会有所帮助。您可以使用collect,如中所示
[1, 2, 3, 4].collect { it + 1 }
对于直接在集合中的每个对象上调用方法的情况,有一个使用扩展点运算符的较短语法:
[1, 2, 3, 4]*.plus 1
(使用Groovy添加到java.lang.Integer的方法来实现+
运算符)
即使列表中包含空值,此运算符也有效:
groovy:000> [1, 2, 3, null, 4]*.plus 1
===> [2, 3, 4, null, 5]
在哪里,您必须使用collect检查:
[1, 2, 3, null, 4].collect { it?.plus 1 }
[1, 2, 3, 4]*.plus 1
groovy:000> [1, 2, 3, null, 4]*.plus 1
===> [2, 3, 4, null, 5]
[1, 2, 3, null, 4].collect { it?.plus 1 }