替换 Groovy 列表中的特定元素

Vik*_*kas 1 string groovy replace list

我需要根据条件修改 Groovy 列表中的某些元素。例如

def rowmbrs = [DW, PL01, ENT, ACCT]
Run Code Online (Sandbox Code Playgroud)

我需要运行一个条件,例如 - 如果上面列表中的元素之一是 PL01,则将其替换为 GL01。如果您能给我一个提示或一些例子来实现这个要求,那就太好了。提前致谢。

运行逻辑后的预期结果

[DW, GL01, ENT, ACCT]
Run Code Online (Sandbox Code Playgroud)

Ula*_*ski 6

您可以使用groovy样式映射函数:

\n\n
\xe2\x80\x8bdef rowmbrs = ['DW', 'PL01', 'ENT', 'ACCT']\nrowmbrs.collect {\n    it == 'PL01' ? 'GL01' : it\n}\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者,如果您只需要更改一个元素,您可以使用其元素的索引:

\n\n
rowmbrs[rowmbrs.indexOf('PL01')] = 'GL01'\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n