我想知道什么是最好的方法,给定一个TreeSet of Date对象,告诉这些日期是每天还是每月。请注意,每日日期集不包含周末或银行假日的日期。每月日期集将具有月末日期。这组日期将持续几年。
我现在能想到的唯一方法是从集合中取出前12个日期并检查每个日期的月份。如果一个月连续发现一个月,那么这可能是一组每日日期。如果没有,则可以假设它是一组月度日期。
虽然这似乎应该有效(我想不出它会错过的任何边缘情况)我想知道是否有更优雅的解决方案?我会想象某种数据结构(一棵树?)使用基于月和年的比较器。然后,如果此集合的子树包含多个节点,那么我可以假设它们是每日日期。我不确定这种方式是否能保证额外的代码,或者是否有更好的解决方案。谢谢你能给我的任何帮助。
答案 0 :(得分:1)
我现在能想到的唯一方法是从集合中取出前12个日期并检查每个日期的月份。如果一个月连续发现一个月,那么这可能是一组每日日期。如果没有,则可以假设它是一组月度日期。
这不一定有效。
您可能需要检查集合中的每个日期,以确定日期是星期几还是月末...... 或两者都是!!
当你发现一个不是月末日的工作日,或者反之亦然时,你可以停止,但是防守计划会检查所有这些,如果你已经被给予了错误的投入。
集合是TreeSet
。