我有一个TreeMap,看起来像这样:
TreeMap<Instant, HashMap<Type, Double>>
Instant值表示一天中的小时数;对于每个传递的小时,一个值存储在我的地图中.
现在我想得到这张地图的最后24个元素(所以过去一天的小时数).我怎么能这样做?
干杯
解决方法:
您可以使用descendingMap
调用来获取地图上的视图,该视图基本上是相反的顺序,然后从中获取前24个条目(调用迭代器等). (Guava的Iterables提供了限制迭代等的有用方法)
编辑:例如,要获取最后24个元素(以相反的顺序,并使用Guava),您可以使用:
List<HashMap<Type, Double>> lastValues = Lists.newArrayList
(Iterables.limit(map.descendingMap().values(), 24));