Java将Arraylist中的项与TreeMap中的类似项进行比较

时间:2011-11-18 08:29:46

标签: java arraylist treemap

我有一个TreeMap,其中包含给定年份的所有日期,因为每个键的键和值为46.现在用户提供开始日期和结束日期。我想检查地图中的开始日期和结束日期以及两者之间的容量(即每个日期的值,即46)。怎么办呢?

我可以创建一个具有日期范围的arraylist,我想可能同时迭代两个结构(arraylist和treemap)并且比较项目将起作用。不过不确定。你觉得怎么样?

1 个答案:

答案 0 :(得分: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);
}