• 2022-06-09
    Comparable和Comparator接口是什么?
  • 如果我们想使用Array或Collection的排序方法时,需要在自定义类里实现Java提供Comparable接口。Comparable接口有compareTo(TOBJ)方法,它被排序方法所使用。我们应该重写这个方法,如果“this”对象比传递的对象参数更小、相等或更大时,它返回一个负整数、0或正整数。但是,在大多数实际情况下,我们想根据不同参数进行排序。比如,作为一个CEO,我想对雇员基于薪资进行排序,一个HR想基于年龄对他们进行排序。这就是我们需要使用Comparator接口的情景,因为Comparable.compareTo(Objecto)方法实现只能基于一个字段进行排序,我们不能根据对象排序的需要选择字段。Comparator接口的compare(Objecto1,Objecto2)方法的实现需要传递两个对象参数,若第一个参数比第二个小,返回负整数;若第一个等于第二个,返回0;若第一个比第二个大,返回正整数。

    内容

    • 0

      TreeSet用于存储自定义类型数据时要求该自定义类型实现()接口或者提供对该类型对象进行比较的比较器。 A: Set B: Iterator C: Comparable D: Comparator

    • 1

      使用Collections中的sort方法对集合进行排序时,如果不指定比较器,则要求集合中的元素类型必须实现()接口。 A: SortedSet B: Comparator C: NavigableSet D: Comparable

    • 2

      下面选项中,哪个是Comparator接口提供的方法

    • 3

      智慧职教: Comparable接口所在的包是( )。

    • 4

      欲构造Circle类的一个实例,此类实现了Comparable接口,下列方法正确的是( )。 A: Circle myCollect= new Object(); B: Comparable myCircle = new Comparable (); C: Circle myCircle= new Comparable (); D: Comparable myCircle = new Circle ();