Java.util.Collections 类

java.util.Collections.sort()方法用于按照由排序引起的顺序对指定列表进行排序指定的比较器。

语法

public static <T> void sort(List<T> list, Comparator<? super T> c)

这里,T是列表中元素的类型。

参数

list 指定要排序的列表。
c 指定比较器以确定列表的顺序。 null 值表示应使用元素的自然排序。

返回值

void 类型。

Exception

  • 如果列表包含使用指定比较器无法相互比较的元素,则抛出 ClassCastException
  • 抛出 UnsupportedOperationException ,如果指定列表的列表迭代器不支持设置操作。
  • 抛出 IllegalArgumentException,(可选)如果发现比较器违反 Comparator 约定。

示例:

在下面的示例中,使用了 java.util.Collections.sort() 方法使用指定的比较器对给定列表进行排序。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建列表对象
    List<Integer> MyList = new ArrayList<Integer>();

    //填充列表
    MyList.add(15);
    MyList.add(20);
    MyList.add(-4);
    MyList.add(100);

    //打印列表
    System.out.println("MyList contains: " + MyList); 

    //创建一个用于逆序排序的比较器
    Comparator<Integer> comp = Comparator.reverseOrder();

    //对列表进行排序
    Collections.sort(MyList, comp);

    //再次打印列表
    System.out.println("MyList contains: " + MyList);   
  }
}

上述代码的输出将是:

MyList contains: [15, 20, -4, 100]
MyList contains: [100, 20, 15, -4]