柏油路留不下脚印 2018-03-19 12:02 采纳率: 0%
浏览 2189
已结题

对java list 中的日期进行分段获取

在 java list中,存放了一段范围的日期对象,例如:

 [
'2018-03-01 00:00:00',
'2018-03-02 00:00:00',
'2018-03-03 00:00:00',
'2018-03-04 00:00:00',

'2018-03-10 00:00:00',
'2018-03-11 00:00:00',
'2018-03-12 00:00:00',

'2018-03-14 00:00:00',
'2018-03-15 00:00:00',
'2018-03-16 00:00:00'
]

有一个周期类:

 class Period{
      private Date startDate;
            private Date endDate;
 }

现在想要实现的效果是:获得 list 中每一段连续的日期,并将每一段连续的日期第一个日期作为 start date,最后一个日期作为 end date。比如:

 [
 '2018-03-01 00:00:00',
'2018-03-02 00:00:00',
'2018-03-03 00:00:00',
'2018-03-04 00:00:00'
]
上面这段日期对应的 Period 的实体的start date 为 2018-03-01 00:00:00, end date 为 2018-03-04 00:00:00

不知道用什么算法能解决此问题。

谢谢各位大神帮忙!

  • 写回答

3条回答

  • sinat_25461811 2018-03-19 12:40
    关注

    转成map备用。然后排序(有可以排序的方法),从小到大排序,排序后取第一条,从第一条的基础上加上一天的时间,然后去map里看看有没有,如果有就用放到另一个集合中,并且在加了一天时间的数据上继续加一天然后继续找,如果找不到了,就看看上一条是第几条,然后再这个条数+1找到下一条,然后再加一天。。。。循环下去

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?