java如何重写collections中的sort
时间: 2024-01-22 11:17:57 浏览: 96
要重写Collections中的sort方法,你需要创建一个自定义的Comparator接口实现来定义排序规则。Comparator接口实现需要实现compare方法,该方法将比较两个对象并返回一个整数值,该值指示哪个对象在排序后应该排在哪个对象之前。
然后,你可以使用Collections.sort()方法,并将自定义的Comparator作为参数传递给该方法。这将使Collections使用你的自定义比较器来对集合进行排序。
下面是一个示例代码,演示如何通过实现Comparator接口来重写Collections.sort()方法:
```java
import java.util.*;
public class CustomSort {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(10);
list.add(5);
list.add(20);
list.add(15);
// 使用自定义的比较器进行排序
Collections.sort(list, new CustomComparator());
System.out.println(list); // 输出 [5, 10, 15, 20]
}
private static class CustomComparator implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
// 按照从小到大的顺序进行排序
return o1 - o2;
}
}
}
```
在上面的代码中,我们创建了一个CustomComparator类,该类实现了Comparator接口。在compare()方法中,我们按照从小到大的顺序进行排序。
然后我们使用Collections.sort()方法和CustomComparator实例来对List进行排序。最后,我们输出已排序的List。
阅读全文