概述
List集合有两大排序方式,分别为自然排序和自定义排序。
使用自然排序,需要元素类达到某种要求。
使用自定义排序,就是在需要排序的时候才传入排序规则。
自然排序
- 自然排序是 Collections.sort 方法,只带一个参数,参数为List集合。
- 默认能直接使用自然排序的,有基本数据类型的包装类型、String类型等等。
- 数字类型的自然排序顺序固定为从小到大。
public static void main(String[] args) {
List<Integer> list = new ArrayList();
list.add(2);
list.add(1);
list.add(3);
Collections.sort(list);
System.out.println(list);
// 输出:[1, 2, 3]
}
- 为什么那些类型能用于自然排序?因为它们都有一个特点,就是实现了 Comparable<E> 接口的 compareTo 方法。
- 该方法的使用意义是让自身对象与另一个对象进行某方面的比较大小,用前者减去后者,返回正数则认为是前者的更大,返回负数则认为前者的更小。
下面我们来自定义一个类,让它实现该接口的方法。
public class Person implements Comparable {
public Person(int age) {
this.age = age; }
private int age;
public int getAge() {
return age; }
public void setAge(int age) {
this.age