Comparator用法
时间: 2023-11-23 08:57:28 浏览: 96
以下是Java中Comparator的用法示例:
1. 实现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<String> comparator = new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.length() - o2.length();
}
};
Collections.sort(list, comparator);
System.out.println(list); // 输出:[pear, apple, banana, orange]
}
}
```
2. 使用Comparator的默认排序规则
```java
import java.util.*;
public class Example {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(4);
list.add(2);
// 使用Comparator的默认排序规则:升序排序
Collections.sort(list);
System.out.println(list); // 输出:[1, 2, 3, 4]
}
}
```
3. 使用Comparator的reversed()方法来反转排序规则
```java
import java.util.*;
public class Example {
public static void main(String[] args) {
Comparator<Integer> comparator1 = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2);
}
};
Comparator<Integer> comparator2 = comparator1.reversed();
int result = comparator2.compare(1, 2);
System.out.println(result); // 输出:1
}
}
```
阅读全文