为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守着星空守着你 2018-07-25 14:14:38
在 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不知道用什么算法能解决此问题。谢谢各位大神帮忙!
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

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


查看完整回答
反对 回复 2018-08-09
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

这没那么麻烦把,数据很多都是从数据库里拉出来的,先排序,确定时间顺序,就可以了,之后用Timestamp这个java.sql类操作方法,好用点,也可以其他的


查看完整回答
反对 回复 2018-08-09
  • 2 回答
  • 0 关注
  • 1284 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信