我有一个键类型为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