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]