Java的Arrays类的常见操作

1. 常见的方法:

sort() 			// 进行排序操作
binarySearch()  // 二分查找
equals() 		// 进行比较
fill()  		// 进行全部填充
asList() 		// Array转list
toString() 		// 转成String类型
copyOf()		// 实现数组的复制

2. 示例代码

public static void main(String[] args) {
        /// *************排序 sort****************
        int a[] = { 1, 3, 2, 7, 6 };
        // sort(int[] a)方法按照数字顺序排列指定的数组。
        Arrays.sort(a);
        System.out.println("Arrays.sort(a):");
        for (int i : a) {
            System.out.print(i + " ");
        }
        // 换行
        System.out.println();

        // sort(int[] a,int fromIndex,int toIndex)按升序排列数组的指定范围,前闭后开
        int b[] = { 1, 3, 2, 7, 6 };
        Arrays.sort(b, 1, 4);
        System.out.println("Arrays.sort(b, 1, 4):");
        for (int i : b) {
            System.out.print(i + " ");
        }
        // 换行
        System.out.println();

        // parallelSort给字符数组排序,sort也可以, 只是性能差别有影响
        // 当对于大量的数据进行排序,使用parallelSort
        // 可以对int型和字符、字符串数组排序
        int c[] = { 1, 3, 2, 7, 6, 5, 4, 9 };
        char d[] = { 'a', 'f', 'b', 'c', 'e', 'A', 'C', 'B' };
        String[] e = {"asd", "acd", "abc"};
        // parallelSort(int[] a) 按照数字顺序排列指定的数组(并行的)。同sort方法一样也有按范围的排序
        Arrays.parallelSort(c);
        System.out.println("Arrays.parallelSort(c):");
        for (int i : c) {
            System.out.print(i + " ");
        }
        // 换行
        System.out.println();
    }

3. Array.sort定制比较器,需要继承Comparator方法,或直接匿名内部类

示例代码1:

public class input {
    public static void main(String[] args) {
        Integer[] a = {1, 3, 2, 7, 6};
        Comparator myComparator = new MyComparator();
        Arrays.sort(a, myComparator);
        for (int s : a) {
            System.out.print(s + " ");
        }
    }
	
	// 实现比较器方法,在sort中调用;integer - t1升序,t1 - integer降序
    public static class MyComparator implements Comparator<Integer> {
        @Override
        public int compare(Integer integer, Integer t1) {
            return integer - t1;
        }
    }
}

示例代码2:

public class input {
    public static void main(String[] args) {
        Integer[] a = {1, 3, 2, 7, 6};
        Arrays.sort(a, new Comparator<Integer>() {
        	// integer - t1升序,t1 - integer降序
            @Override
            public int compare(Integer integer, Integer t1) {
                return integer - t1;
            }
        });
        for (int s : a) {
            System.out.print(s + " ");
        }
    }
}
发布了103 篇原创文章 · 获赞 55 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/l8947943/article/details/104098820