Java Array.sort的六种常用方法总结

Posted 卉卉今天吃什么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Array.sort的六种常用方法总结相关的知识,希望对你有一定的参考价值。

Arrays.sort()的六种用法

一:直接用,升序排序

        /**
         * 用法一,升序排序
         */
        int[] nums1 = new int[]{4, 6, 8, 0, 5, 9, 7, 2, 1, 3};
        Arrays.sort(nums1);

二:传入参数 fromIndex、toIndex,部分升序排序

        /**
         * 用法二,部分升序排序
         */
        int[] nums2 = new int[]{4, 6, 8, 0, 5, 9, 7, 2, 1, 3};
        Arrays.sort(nums2, 0, 3);

三:重写比较器Comparator,降序排序

        /**
         * 用法三,降序排序
         */
        Integer[] nums3 = new Integer[]{4, 6, 8, 0, 5, 9, 7, 2, 1, 3};
        Arrays.sort(nums3, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });

四:结合二和三(传参 + 重写),部分降序排序

        /**
         * 用法四,部分降序排序
         */
        Integer[] nums4 = new Integer[]{4, 6, 8, 0, 5, 9, 7, 2, 1, 3};
        Arrays.sort(nums4, 0, 3, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });

五:二维数组的特殊排序

        /**
         * 用法五,二维数组排序
         * 根据nums5[i][0]排序, 若num5[i][0]相同,则根据nums5[i][1]排序
         */
        int[][] nums5 = new int[][]{{1, 3}, {1, 2}, {4, 5}, {3, 7}};
        Arrays.sort(nums5, new Comparator<int[]>() {
            public int compare(int[] a, int[] b){
                if(a[0]==b[0]){
                    return a[1] - b[1];
                }else {
                    return a[0] - b[0];
                }
            }
        });

六:与五一样,写法不同

        /**
         * 用法六,与用法五一样,写法不同
         */
        int[][] nums6 = new int[][]{{1, 3}, {1, 2}, {4, 5}, {3, 7}};
        Arrays.sort(nums6, (a,b) -> (a[0]==b[0] ? a[1] - b[1] : a[0] - b[0]));

输出结果

待补充

以上是关于Java Array.sort的六种常用方法总结的主要内容,如果未能解决你的问题,请参考以下文章

Java Array.sort的六种常用方法总结

java加载properties文件的六种方法总结

js学习总结----深入扩展原型链模式常用的六种继承方式

获取Linux IP地址的六种方法总结

asp.net刷新本页面的六种方法总结

Java读取Properties文件的六种方法