为了对对象进行排序必须符合什么条件?

时间:2018-12-10 04:37:11

标签: java algorithm sorting

所以我的标题是我的问题...对对象进行排序的基本要求是什么?  以下是一些选择:

A。它们必须是基元的包装类(整数,双精度型等)

B。它们必须是可比的。

C。至少一个实例变量必须是原始变量。

D。它们必须是字符串

E。对象不是可排序的,只有基元是可排序的。

2 个答案:

答案 0 :(得分:1)

B。可比的。

java documentation for Comparable中进行快速搜索将显示:

  

此接口对实现该接口的每个类的对象强加了总体排序。该排序称为类的自然排序,该类的compareTo方法被称为其自然比较方法。

     

实现此接口的对象的列表(和数组)可以由Collections.sort(和Arrays.sort)自动排序。实现此接口的对象可以用作排序映射中的键或排序集中的元素,而无需指定比较器。

答案 1 :(得分:0)

在Java中有两种对对象进行排序的方法。它们应该是Comparable(具有相同的类型!IntegerString都是可比较的,但是您不能只对包含两者的列表进行排序),或者您应该使用正确类型的显式Comparator