我有一个LinkedList
,我想在其中更改所有值。使用数组我可以做到:
arr = arr.collect { arr -> transformFunction(arr) }
但随着LinkedList
:
list = list.collect { key, val -> [(key): transformFunction(val)] }
但不幸的是,这不起作用(至少在管道中)。在groovy中这样做的正确方法是什么?
我认为你的意思是Map
而不是List
。因此,如果你想改变这些值,那么each
对副作用有好处:
notalist.each { k,v -> list[k] = transformFunction(v) }
或者您可以使用collectEntries
创建副本:
newmap = map.collectEntries{ k, v -> [k, transformFunction(v)] }