
Comparable和Comparator接口是干什么的?列出它们的区别。
展开全部
Comparable和Comparator接口是用来对自定义的class比较大小的。
Comparator和 Comparable的区别:Comparator定义在Person的外部而Comparable定义在Person的内部。
Comparable定义在Person的内部。public class Persion implements Comparable {..比较Person的大小..},因为已经实现了比较器,那么Person现在是一个可以比较大小的对象了,它的比较功能和String完全一样,可以随时随地的拿来比较大小,因为Person现在自身就是有大小之分的。Collections.sort(personList)可以得到正确的结果。
Comparator是定义在Person的外部的,此时Person类的结构不需要有任何变化,如public class Person{ String name; int age },然后另外定义一个比较器:public PersonComparator implements Comparator() {..比较Person的大小..},在PersonComparator里面实现了怎么比较两个Person的大小. 所以用这种方法,要对一个 personList进行排序的时候除了要传递personList过去,还需要把PersonComparator传递过去,因为怎么比较Person的大小是在PersonComparator里面实现的,如Collections.sort( personList , new PersonComparator() )。
Comparator和 Comparable的区别:Comparator定义在Person的外部而Comparable定义在Person的内部。
Comparable定义在Person的内部。public class Persion implements Comparable {..比较Person的大小..},因为已经实现了比较器,那么Person现在是一个可以比较大小的对象了,它的比较功能和String完全一样,可以随时随地的拿来比较大小,因为Person现在自身就是有大小之分的。Collections.sort(personList)可以得到正确的结果。
Comparator是定义在Person的外部的,此时Person类的结构不需要有任何变化,如public class Person{ String name; int age },然后另外定义一个比较器:public PersonComparator implements Comparator() {..比较Person的大小..},在PersonComparator里面实现了怎么比较两个Person的大小. 所以用这种方法,要对一个 personList进行排序的时候除了要传递personList过去,还需要把PersonComparator传递过去,因为怎么比较Person的大小是在PersonComparator里面实现的,如Collections.sort( personList , new PersonComparator() )。

2024-02-18 广告
滤波器的选择需要考虑许多因素,包括额定电压、额定电流、频率、体积、损耗等。根据具体应用场景和要求,可以选择不同类型的滤波器,如电感电容滤波器、介质滤波器、腔体滤波器、晶体滤波器等。1. 电感电容滤波器:这种滤波器由电感和电容组成,具有体积小...
点击进入详情页
本回答由上海上恒提供
推荐于2017-11-21
展开全部
Java提供了只包含一个compareTo()方法的Comparable接口。
这个方法可以个给两个对象排序。
具体来说,它返回负数,0,正数来表明输入对象小于,等于,大于已经存在的对象。
Java提供了包含compare()和equals()两个方法的Comparator接口。
compare()方法用来给两个输入参数排序,返回负数,0,正数表明第一个参数是小于,等于,大于第二个参数。
equals()方法需要一个对象作为参数,它用来决定输入参数是否和comparator相等。
只有当输入参数也是一个comparator并且输入参数和当前comparator的排序结果是相同的时候,这个方法才返回true。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询