comparator和comparable比较
时间: 2023-04-27 09:03:14 浏览: 130
Comparator和Comparable都是Java中用于比较对象的接口。
Comparable是一个内部比较器,它允许对象自身进行比较并确定它们的顺序。实现Comparable接口的类可以使用Collections.sort()方法进行排序。
Comparator是一个外部比较器,它允许在不修改类本身的情况下比较两个对象。Comparator接口的实现类可以传递给Collections.sort()方法进行排序。
总的来说,Comparable适用于对类的自然排序进行比较,而Comparator适用于对类的非自然排序进行比较。
相关问题
comparator和comparable
comparator 和 comparable 是 Java 中用来比较对象大小的两个接口。
comparable 是 Java 的内置接口,定义了 compareTo() 方法,用来比较对象的大小。如果一个类实现了 comparable 接口,就意味着该类有一个内置的比较方式,可以用来排序。
comparator 是另一个用来比较对象大小的接口,它也定义了 compare() 方法。它主要用于在不能修改类的情况下,为类提供一种比较方式,或者为了提供多种比较方式。
总之,comparable 接口是类本身定义比较方式,而 comparator 接口是为类提供额外的比较方式。
comparator和comparable区别
Comparator和Comparable都是Java中用于对象排序的接口,但它们之间有一些区别。
1. Comparable是一个内部比较器,它是在类的内部实现的。而Comparator是一个外部比较器,它是在类的外部实现的。
2. Comparable接口只有一个方法compareTo(),它用于比较对象。而Comparator接口有两个方法compare()和equals(),其中compare()用于比较对象,equals()用于判断两个对象是否相等。
3. Comparable接口只能对当前类的对象进行排序,而Comparator接口可以对任意类的对象进行排序。
4. Comparable接口是自然排序,它提供了一个默认的排序方式。而Comparator接口是非自然排序,它需要程序员自己实现排序方式。
总的来说,如果一个类需要排序,且排序方式是固定不变的,那么可以使用Comparable接口。如果一个类需要排序,但排序方式可能有多种,或者需要对不同的类进行排序,那么可以使用Comparator接口。
阅读全文