其目的是什么Comparer<T>
如果您指定的类型已经实现,则类服务IComparable
?
如果我指定 Comparer.Default,并且 Customer 已经实现了 IComparable,那么我为什么要使用 Comparer 类?
因为有时您需要保持集合/有序队列按其他顺序排序,然后是“自然”顺序或存在多个自然顺序。
例如,如果您有平面线,您可能希望按以下方式对其进行排序:
- 航班号
- 目的地
- Time
- 优先(某些航班可能会比其他航班遭受更长的延误)
- ...
计算机中的任务可以通过以下方式安排:
- User
- 优先级(在调度程序中)
- PID(正常比较)
- ...
因此,即使在一个应用程序中,您也可能需要按不同的属性对对象进行排序。你不能通过以下方式做到这一点int compareTo(Object)
方法,因为它无法区分上下文。但是您可以添加上下文,即实施CompareByPriority
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)