0

我有一个 TreeMap,其中包含给定年份的所有日期作为键,每个键的值是 46。现在用户提供开始日期和结束日期。我想检查地图中开始日期和结束日期的容量(即每个日期的值,即 46)以及介于两者之间的范围。如何才能做到这一点?

我可以创建一个具有日期范围的数组列表,并且我认为可能同时迭代两个结构(数组列表和树图)并比较项目会起作用。不过不确定。你怎么看?

4

1 回答 1

2

可导航的地图(例如树形地图)可以通过其subMap(fromKey, toKey)方法为您提供具有一系列键的地图。

所以这应该适合你:

TreeMap<Date, Integer> map = ...;
int minCapacity = Integer.MAX_VALUE; 
int maxCapacity = Integer.MIN_VALUE;
for (Integer capacity : map.subMap(fromDate, toDate).entrySet()) {
    minCapacity = Math.min(minCapacity, capacity);
    maxCapacity = Math.max(maxCapacity, capacity);
}
于 2011-11-18T08:37:26.150 回答