我有一个类“条目”,它有几个日期字段:
- 创建日期(始终可用)
- manualSetDate(不总是)
- 会议日期(不总是)
现在我想按第一个 meetingDate 对条目进行排序(将会议的所有条目放在一起),然后或者如果在一个条目中不可用,则按 manualSetDate,如果他们有相同的会议,或者如果一个条目没有 manualSetDate 也按创建日期。
困难在于许多条目没有会议或手动设置日期。所以我已经迭代了所有(我希望如此)可能的组合,比如:
Date relevant1; //at the end i compare both relevant dates
Date relevant2;
if e1.creationdate != null && e2.creationdate == null)
{relevant2 = e2.creationdate}...
if e1.creationdate == null && e2.creationdate != null)
{relevant2 = e2.creationdate}...
...
这导致高复杂度
排序:
- 会议日期(如果两者都有)
- ManualSetDate(如果两者都有)
- 创建日期
我遍历了所有组合,但似乎会出错......
有没有更好的方法来进行排序?有任何想法吗?