【发布时间】:2012-01-09 11:35:00
【问题描述】:
我想知道给定 Date 对象的 TreeSet 来判断这些日期是每天还是每月的最佳方法是什么。请注意,每日日期集将没有周末或银行假日的日期。每月日期集将具有月末日期。这组日期将跨越几年。
我目前能想到的唯一方法是从集合中取出前 12 个日期并检查每个日期的月份。如果连续发现一个月不止一次,那么这很可能是一组每日日期。如果不是,则可以假定它是一组每月日期。
虽然这看起来应该可以工作(我想不出它会错过任何边缘情况)我想知道是否有更优雅的解决方案?我会想象某种数据结构(树?),它使用基于月份和年份的比较器。然后,如果该集合的子树包含多个节点,那么我可以假设它们是每日日期。我不确定这种方式是否可以保证额外的代码,或者是否有更好的解决方案可用。感谢您能给我的任何帮助。
【问题讨论】:
-
是什么阻止您在创建它们时识别它们?
-
这是对现有功能的更新,因此实际上没有机会修改大部分代码。此外,这些日期最初来自我们计划之外的来源。