我想获取一个map的最后X个条目。
如果我想要获取前面的条目,可以通过groovy轻松完成:map.take(10)
可以得到map的前10个条目。但是如何获取最后10个条目呢?没有map.reverse()
方法。
我想获取一个map的最后X个条目。
如果我想要获取前面的条目,可以通过groovy轻松完成:map.take(10)
可以得到map的前10个条目。但是如何获取最后10个条目呢?没有map.reverse()
方法。
drop
:map.drop( map.size() - 10 )
要保留最后10个元素,可以使用以下方法:
list_name[-10:]
另一种方法是使用iterator
,并将其反转:
map.iterator().reverse().take( 10 ).reverse().collect()
LinkedHashMap
应该添加一个reverse
方法,因为它确实具有顺序的概念。如果我有时间,我会尝试提供一个补丁。 - tim_yatesreverseEach
已经足够了。但在这种情况下,它不够用 :-( - tim_yatesmap.drop
在这里起作用,但将其嵌入到Groovy中冗长的gsp表达式中,其中map
是一个50个字符的表达式,有点麻烦。如果有一个reverse()
方法,它会更加简洁。 - Pma