如何从Groovy的地图中获取最后一个KEY?

时间:2019-08-06 09:12:28

标签: groovy jenkins-groovy

我正试图从该地图中以Groovy方式获取最后一个KEY。但是,似乎groovy没有返回映射中最后一个键的方法。

def person = [fname: "john", sname: "smith", age: 25]

我尝试过person.lastKey()person.lastEntry(),但这些方法似乎仅适用于java

2 个答案:

答案 0 :(得分:3)

您可以使用person.keySet()[-1]​person.keySet().last()​

要获取完整条目,请使用entrySet()而不是keySet()

请参见Groovy demo online

答案 1 :(得分:2)

lastKeySortedMap界面的一部分,Groovy映射文字为您提供了LinkedHashMap,这是解释您尝试失败的原因。

Map(接口SortedMap的继承)本身没有经过排序或排序。因此,您在这里要查询的内容仅适用于有序(Groovy地图文字会给您提供)或排序后的地图,因此请确保您拥有其中之一,否则您将看到随机元素,而不是最后看到的元素。如果顺序很重要,请考虑使用键值元组列表。