java – 如何获取Treemap的最后n个元素

我有一个TreeMap,看起来像这样:

 TreeMap<Instant, HashMap<Type, Double>>

Instant值表示一天中的小时数;对于每个传递的小时,一个值存储在我的地图中.
现在我想得到这张地图的最后24个元素(所以过去一天的小时数).我怎么能这样做?

干杯

解决方法:

您可以使用descendingMap调用来获取地图上的视图,该视图基本上是相反的顺序,然后从中获取前24个条目(调用迭代器等). (GuavaIterables提供了限制迭代等的有用方法)

编辑:例如,要获取最后24个元素(以相反的顺序,并使用Guava),您可以使用:

List<HashMap<Type, Double>> lastValues = Lists.newArrayList
    (Iterables.limit(map.descendingMap().values(), 24));
上一篇:Map集合类——TreeMap


下一篇:TreeMap 还能排序?分析下源码就明白了