【发布时间】:2009-08-03 05:12:30
【问题描述】:
在哪些情况下我们必须实现 Comparable 接口?
【问题讨论】:
标签: java collections
在哪些情况下我们必须实现 Comparable 接口?
【问题讨论】:
标签: java collections
当您希望能够比较 2 个对象并获得等于、小于或大于的结果时。
实现 Comparable 为您的对象提供compareTo 方法。如果您将它们添加到排序列表,那么它们将根据您的 compareTo 方法返回的内容自动排序。
这是非常基本的。不知道还有什么要补充的。
【讨论】:
当您的类实现 Comparable 接口时,您必须实现 compareTo() 方法,以便您可以清楚地知道您的类的实例在此类实例的有序列表中的位置.
实现高效的排序算法和有序集合并非易事。因此,当您希望类的对象具有自然排序时,您会这样做,因此您可以使用 Java 提供的经过验证的排序和顺序相关算法和类,而不是实现自己的,例如让 TreeSet 的内容在之后保持排序插入/删除,或使用 Collections.sort()。
【讨论】: