Comparator比使用Comparable好在什么地方
时间: 2023-12-08 12:39:04 浏览: 64
Comparator比使用Comparable好在以下几个方面:
1. Comparable接口只能在类定义时指定一种排序方式,而Comparator接口可以在排序时动态指定不同的排序方式。
2. Comparable接口要求实现类必须支持自己和其他对象的比较,而Comparator接口可以实现对不同类的对象进行比较。
3. Comparable接口的实现类必须实现compareTo()方法,而Comparator接口的实现类只需要实现compare()方法即可。
下面是一个使用Comparator接口进行排序的例子:
```java
import java.util.*;
public class Example {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("pear");
// 使用Comparator接口进行排序
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
System.out.println(list); // 输出:[apple, banana, orange, pear]
}
}
```
阅读全文