从groovy中的嵌套列表中获取值

pri*_*dev 6 collections groovy

我在这样的groovy中有一个3级嵌套列表

rList = [[[12, name1],[22,name2],[49,name3]],[[33, name5],[22,name6],[21, name7]]]
Run Code Online (Sandbox Code Playgroud)

如何迭代它以从第一个子列表中获取名称值,所以我想要 rsublist = [name1, name2, name3]

提前致谢.

epi*_*ian 7

rList = [[[12, 'name1'], [22, 'name2'], [49, 'name3']], [[33, 'name5'], [22, 'name6'], [21, 'name7']]]
names = rList[0]*.getAt(1)
assert names == ['name1', 'name2', 'name3']
Run Code Online (Sandbox Code Playgroud)

首先,rList[0]给出第一个子列表,即[[12, name1], [22, name2], [49, name3]].然后,传播经营者,*.被用于采用同样的方法,getAt(1)以该列表中的每一个元素,它会返回一个列表与子表,这是你要找的值中的每一第二个元素:)

rList[0].collect { it[1] }如果您不习惯使用扩展运算符,也可以使用等效的并且可能更熟悉.