如何检查hashmap中的键(日历)是否连续



我有一个键类型为Calendar的hashmap,例如:

HashMap <Calendar, Student> map = new HashMap <Calendar, Student> ();

按日期对地图进行排序后,我想检查地图中的每个日历(键)对每个学生的名字是否连续;例如,假设map中的数据是这样的:

('10-01-2015', student1), ('10-02-2015', student1), ('10-03-2015', student1), ('10-10-2015', student1), ('10-11-2015', student2), ('10-13-2015', student2)

等等

那么我想要得到的结果是如下所示:

student1: 10-01-2015 - 10-03-2015
student1: 10-10-2015
student2: 10-11-2015
student2: 10-13-2015

我想我将使用TreeMap来排序地图,但我不确定如何将每个值的连续键分组。
你会怎么接近?

你可以创建一个循环,然后在循环内部做这样的事情。

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(YOURKEY/DATE));
Calendar pd  = c;//previous Date
c.add(Calendar.DATE, 1);  // number of days to add
现在检查c.getTime = dt.getTime

最新更新