有关于Arrary.sort(int[] a)库函数的说明
Arrays.sort(int[] a) 将一个数组的所有元素进行从大到小排序
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
Arrays.sort(a);
for(int i = 0; i < a.length; i ++) {
System.out.print(a[i] + " ");
}
}
}
输出 : 0 1 2 3 4 5 6 7 8 9
Arrays.sort(int[] a, int fromIndex, int toindex)
对数组进行部分排序,从 fromIndex 到 toIndex之前,前闭后开
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
Arrays.sort(a, 0, 3);
//排序 0,1,2号元素
for(int i = 0; i < a.length; i ++) {
//输出只排前三位元素后的全部数组元素
System.out.print(a[i] + " ");
}
}
}
Arrays.sort(T[] a, Comparator<? Super T> c)用Comparator接口实现自定义排序规则
通过实现Comparator接口实现降序排序
第一个参数o1在原来的数组中的位置在第二个参数o2的前面。如果o1-o2>0就交换那顺序就由原来的o1o2变成了o2o1,小的就在前面,大的在后面,就是升序;o2-o1>0交换,顺序就由原来的o1o2变成了o2o1,大的在前面,小的在后面,那就是降序。
import java.util.*;
public class Main {
public static void main(String[] args){
//不能使用基本数据类型
Integer[] arr = {5,4,7,9,2,12,54,21,1};
//降序
Arrays.sort(arr, new Comparator<Integer>() {
//重写compare方法,最好加注解,不加也没事
public int compare(Integer a, Integer b) {
//返回值>0交换
return b-a;
}
});
System.out.println(Arrays.toString(arr));
}
}
等价于
import java.util.*;
public class Main {
public static void main(String[] args){
//不能使用基本数据类型
Integer[] arr = {5,4,7,9,2,12,54,21,1};
//降序
//Lambda表达式
Arrays.sort(arr, (a, b) -> {
//返回值>0交换
return b-a;
});
System.out.println(Arrays.toString(arr));
}
}