我有一个TreeMap,看起来像这样:
TreeMap<Instant, HashMap<Type, Double>>
即时值表示一天中的小时数;对于每个传递的小时,一个值存储在我的地图中。 现在我想得到这张地图的最后24个元素(所以过去一天的小时数)。我怎么能这样做?
干杯
答案 0 :(得分:3)
答案 1 :(得分:2)
您可以使用descendingMap
调用在地图上获取基本上相反顺序的视图,然后从中获取前24个条目(调用iterator
等)。 (Guava的Iterables提供了限制迭代等的有用方法。)
编辑:例如,要获取最后24个元素(以相反的顺序,并使用Guava),您可以使用:
List<HashMap<Type, Double>> lastValues = Lists.newArrayList
(Iterables.limit(map.descendingMap().values(), 24));
答案 2 :(得分:0)
您可以将其设为SortedMap<LocalDate, SortedMap<Hours, Map<Type, Double>>>
,以便从外部Map
获取最新日期。