如果对数组进行排序,很多人都会复制一个快速排序或者其他排序算法的函数,然后再调用该函数进行排序。如果觉得太麻烦,其实可以直接调用java.util.Arrays包中的静态方法Arrays.sort()对数组进行排序,注意此方法得到的排序结果是升序的。
一、Arrays.sort()方法应用
代码如下(示例):
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); //注意此方法得到的排序结果是升序的。
for(int i = 0; i < a.length; i ++) {
System.out.print(a[i] + " ");
}
}
}
sort方法还有很多其他用法,具体如下:
数组的类型可以是8种基本类型中的任意类型,还可以为引用类型的数组进行排序,比如对某个字符串数组进行排序.
Arrays.sort(Object[] a)
对int类型的数组,从下标为fromIndex,到下标为toIndex-1的元素进行升序排序,需要注意的是,结束的位置不是toIndex,而是toIndex-1.数组的类型可以是8种基本类型中的任何一种类型.
Arrays.sort(int[] a,int fromIndex,int toIndex)`
对引用类型的数组进行排序,从下标为fromIndex,到下标为toIndex-1的元素进行排序,比如对字符串数组的排序.
Arrays.sort(Object[] a,int fromIndex,int toIndex)
根据指定的比较器引发的顺序对指定的对象数组进行排序, 数组中的所有元素必须通过指定的比较器相互比较 .也就是说,通过参数2的比较方法,实现对参数1数组的排序.
Arrays.sort(T[] a, Comparator<? super T> c)
二、解析Arrays.sort()背后原理(重点)
查看Arrays.sort()的源码可以看到
Java Arrays中提供了对所有类型的排序。其中主要分为针对基本类型(除了boolean)和Object两大类。
图片来源网络
总结
本文介绍了java.util.Arrays包中的Arrays.sort()方法应用及背后原理。