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

Collections 从groovy中的嵌套列表获取值,collections,groovy,Collections,Groovy,我在groovy中有这样一个3级嵌套列表 rList = [[[12, name1],[22,name2],[49,name3]],[[33, name5],[22,name6],[21, name7]]] 如何迭代它以从第一个子列表获取名称值 所以我想要像rsublist=[name1,name2,name3] 提前谢谢 rList = [[[12, 'name1'], [22, 'name2'], [49, 'name3']], [[33, 'name5'], [22, 'name6'],

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

rList = [[[12, name1],[22,name2],[49,name3]],[[33, name5],[22,name6],[21, name7]]]
如何迭代它以从第一个子列表获取名称值 所以我想要像
rsublist=[name1,name2,name3]

提前谢谢

rList = [[[12, 'name1'], [22, 'name2'], [49, 'name3']], [[33, 'name5'], [22, 'name6'], [21, 'name7']]]
names = rList[0]*.getAt(1)
assert names == ['name1', 'name2', 'name3']
首先,
rList[0]
提供第一个子列表,即
[[12,name1]、[22,name2]、[49,name3]
。然后,
*。
用于对该列表的每个元素应用相同的方法,
getAt(1)
,该方法将返回一个列表,其中包含子列表的每个第二个元素,这些元素是您要查找的值:)

您还可以使用
rList[0]。收集{it[1]}
,这是等效的,如果您不习惯使用spread运算符,可能会更熟悉。

基于,这里有一个更可读的版本:

rList.first()*.last()

+1=D。离题:StackOverflow上的语法高亮显示非常奇怪。为什么上次方法调用的
与第一次方法调用的
颜色不同?我认为它只识别几个“通用”关键字和语法形式(如注释和字符串文字,它们在不同的语言之间非常相似),我希望它是更强大的,也许像GitHub的语言识别和语法高亮。