comparable和comparator区别是什么?
时间: 2023-04-13 20:00:36 浏览: 147
comparable和comparator都是用于比较对象的接口,但是它们的作用略有不同。
comparable接口是Java中的一个接口,它定义了一个compareTo()方法,用于比较当前对象和另一个对象的大小关系。实现了comparable接口的类可以通过Collections.sort()方法进行排序。
comparator接口也是Java中的一个接口,它定义了一个compare()方法,用于比较两个对象的大小关系。与comparable不同的是,comparator是一个独立的比较器,可以用于对任意类的对象进行比较,而不需要修改类的定义。在实现comparator接口时,需要创建一个新的比较器类,并在其中实现compare()方法。
因此,comparable适用于对类的内部进行排序,而comparator适用于对不同类的对象进行排序。
相关问题
Comparable和Comparator的区别是什么?
Comparable和Comparator的区别在于它们的字面含义和用法不同。Comparable表示自身具备比较能力,而Comparator表示自身是比较的参与者。Comparable通过重写compareTo方法实现排序,而Comparator通过重写compare方法实现排序。Comparable必须由自定义类内部实现排序方法,而Comparator可以在外部定义并实现排序。另外,Comparator的使用不需要修改原有类,可以实现对第三方类的排序功能,从而实现了解耦。因此,Comparator可以看作是对外提供排序的接口。
comparable 和 comparator的区别?
comparable和comparator都是用于比较两个对象的接口。但是它们的作用不同。comparable接口是在对象类中实现的,它定义了对象之间的自然顺序比较规则,并且可以使用Collections.sort()方法进行排序。而comparator接口则需要在Comparator实现类中定义比较规则,并且可以使用Collections.sort()方法的另一个重载版本进行排序。所以说,comparable方便用于对象内部排序,而comparator方便用于外部排序。
阅读全文