我有一个键盘类型为Calendar的hashmap,例如:
HashMap <Calendar, Student> map = new HashMap <Calendar, Student> ();
一旦按日期对地图进行排序,我想检查地图中的每个日历(关键字)是否按学生姓名连续;例如,假设地图中的数据是这样的:
('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对地图进行排序,但我不确定如何对每个值的连续键进行分组。
你会怎么做?
答案 0 :(得分:0)
你可以做一个循环,在里面做这样的事情......
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