Arrays类-----此类包含用来操作数组(比如排序和搜索)的各种方法
对基本数据类型的数组的排序
- Arrays类中的sort()使用的是“经过调优的快速排序法”
- 可以对byte[] int[] double[] char[]进行升序排序
- 要对基础类型的数组进行降序排序,需要将这些数组转化为对应的封装类数组,如Integer[],Double[],Character[]等,对这些类数组进行排序。(其实还不如先进行升序排序,自己在转为降序)。
升序直接调用
static void sort(int[] a)
static void sort(int[] a, int fromIndex, int toIndex)
降序
使用比较器
class cmp implements Comparator<Integer>{
public int compare(Ingeger n1, Ingeger n2){
if (n1 < n2){
return 1;
}else{
return -1;
}
}
}
public int JiangXu(Integer[] nums, int k) {
降序排列
Arrays.sort(nums, new cmp());
for(int i = 0; i <= nums.length - 1; i++){
System.out.println(nums[i]);
}
return nums[k-1];
}
<>内是比较的数据类型(封装类/自定义类)
如果不写<Integer>则下面改成:
public int compare((Object o1,(Object o2) {
Integer n1=(Integer)o1;
Integer n2=(Integer)o2;
}