Arrays工具类详解(shang)
程序员文章站
2022-05-28 16:53:17
...
Arrays工具类属于java中常用的工具类
public static void sort(int[] a) public static void sort(int[] a,int fromIndex, int toIndex) public static void sort(long[] a) public static void sort(long[] a,int fromIndex, int toIndex) public static void sort(short[] a) public static void sort(short[] a,int fromIndex, int toIndex) public static void sort(char[] a) public static void sort(char[] a,int fromIndex, int toIndex) public static void sort(byte[] a) public static void sort(byte[] a,int fromIndex, int toIndex) public static void sort(double[] a) public static void sort(double[] a,int fromIndex, int toIndex) public static void sort(float[] a) public static void sort(float[] a,int fromIndex, int toIndex)
对指定组的指定范围按数字升序进行排序。排序的范围从索引 fromIndex(包括)一直到索引 toIndex(不包括)。(如果 fromIndex==toIndex,则排序范围为空。)
a - 要排序的数组
fromIndex - 要排序的第一个元素的索引(包括)
toIndex - 要排序的最后一个元素的索引(不包括)
public static void sort(Object[] a) public static void sort(Object[] a,int fromIndex, int toIndex)
同上,不过数组中的所有元素都必须实现 Comparable 接口。此外,数组中的所有元素都必须是可相互比较的(也就是说,对于数组中的任何 e1 和 e2 元素而言,e1.compareTo(e2) 不得抛出 ClassCastException)。
保证此排序是稳定的:不会因调用 sort 方法而对相等的元素进行重新排序。
public static <T> void sort(T[] a, Comparator<? super T> c) public static <T> void sort(T[] a,int fromIndex,int toIndex,Comparator<? super T> c)
根据指定比较器产生的顺序对指定对象数组进行排序。数组中的所有元素都必须是通过指定比较器可相互比较的(也就是说,对于数组中的任何 e1 和 e2 元素而言,c.compare(e1, e2) 不得抛出 ClassCastException)。
public static int binarySearch(long[] a,long key) public static int binarySearch(long[] a,int fromIndex,int toIndex,long key) public static int binarySearch(int[] a,int key) public static int binarySearch(int[] a,int fromIndex,int toIndex,int key) public static int binarySearch(short[] a,short key) public static int binarySearch(short[] a,int fromIndex,int toIndex,short key) public static int binarySearch(char[] a,char key) public static int binarySearch(char[] a,int fromIndex,int toIndex,char key) public static int binarySearch(byte[] a,byte key) public static int binarySearch(byte[] a,int fromIndex,int toIndex,byte key) public static int binarySearch(double[] a,double key) public static int binarySearch(double[] a,int fromIndex,int toIndex,double key) public static int binarySearch(float[] a,float key) public static int binarySearch(float[] a,int fromIndex,int toIndex,float key) public static int binarySearch(Object[] a,Object key) public static int binarySearch(Object[] a,int fromIndex,int toIndex,Object key) public static <T> int binarySearch(T[] a,T key,Comparator<? super T> c) public static <T> int binarySearch(T[] a,int fromIndex,int toIndex,T key,Comparator<? super T> c)
使用二分搜索法来搜索指定数组的范围,以获得指定对象。在进行此调用之前,必须根据指定的比较器对范围进行升序排序。如果没有对范围进行排序,则结果是不确定的。如果范围包含多个等于指定对象的元素,则无法保证找到的是哪一个。