Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在需要对数组进行排序时,可以直接调用。
注:数组类型是Object(),即sort()的参数类型也为Object。本文中以int型数组为例。
用法1:
Arrays.sort(int[] a)
用法2:
Arrays.sort(int[] a, int fromIndex, int toIndex)
用法3:
public static void sort(T[] a, Comparator c)
注:根据指定的比较器引发的顺序对指定的对象数组进行排序
public int countWays(int[][] ranges) {
/**
* class MyComparator implements Comparator<Integer> {
* @Override
* public int compare(int[] a, int[] b) {
* //升序
* return a[0] - b[0];
*/
Arrays.sort(ranges, (a, b) -> a[0] - b[0]);
}
lambda表达式实现升序排序(Arrays.sort(data, (o1, o2) -> o1 - o2);),
lambda表达式实现降序排序(Arrays.sort(data, (o1, o2) -> o2 - o1);),
lambda表达式详解:
https://www.cnblogs.com/knowledgesea/p/3163725.html
Arrays.sort()的深入理解:
Arrays.sort() ----- DualPivotQuicksort:https://www.cnblogs.com/wuweishuo/p/10648039.html
Arrays.sort() ----- TimSort:https://www.cnblogs.com/wuweishuo/p/10646045.html