有很多条件时间,在一个LinkMap(有顺序的Map)里面.然后通过1定的需求,要换算出另外一些时间,按照顺序增加到这个LinkMap里.1、 2009-01-01 10:10:10
2、 2009-01-01 10:12:10
3、 2009-01-01 10:19:10
4、 2009-01-01 10:21:10需求:
如果下一个时间和上一个时间的差在3分钟内,则不增加时间,
如果超过3分钟,则以3分钟为阀值,增加X个时间,直到增加出的时间
比下一个时间小3分钟,但是需要反向增加,即:条件时间的下一个时间一定跟上一个时间的差是3分钟举例:比如上面的例子:返回结果就是
1、 2009-01-01 10:10:10
2、 2009-01-01 10:12:10
说明:时间1和时间2差在3分钟以内所以不变3、 2009-01-01 10:19:10
说明:时间3和时间2差超过3分钟,所以要增加时间。
3、 2009-01-01 10:13:10(减到该时间和上一个时间差在3分钟内)
4、 2009-01-01 10:16:10
5、 2009-01-01 10:19:10(条件时间的下一个时间一定跟上一个时间的差是3分钟)4、 2009-01-01 10:21:10
说明:时间1和时间2差距在3分钟以内所以不变
6、 2009-01-01 10:21:10最后返回结果就是:
1、 2009-01-01 10:10:10
2、 2009-01-01 10:12:10
3、 2009-01-01 10:13:10
4、 2009-01-01 10:16:10
5、 2009-01-01 10:19:10
6、 2009-01-01 10:21:10

解决方案 »

  1.   

    一定不是作业。
    用了Map,那么key是什么?value是什么?如果key只是一个序号,就没有必用Map了。
    实际上按你的题,存放给定的时间,应该用数组或List就可以了,但最好是用LinkedList,对大量的插入和删除一个有序的序列,LinkList是一种不错的选择。
      

  2.   


    key是时间,value是一些字符串,新增加的时间value都是null!555
      

  3.   

    自己做一个Class用来作为key。这个类要实现Comparable接口(根据自己的需要,实现compareTo方法)。
    剩下的算法应该很好写了吧?
      

  4.   

    key是一个用字符串表示的时间?查了一下LinkedHashMap的API,这个类只是输入顺序被保存了,也就是遍历顺序就是输入的顺序。但我没有找到支持中间插入元素的方法。也许你选这个类是选错了。