Arrays.sort()方法的功能是将数组里的元素按从小到大的顺序排序吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arrays.sort()方法的功能是将数组里的元素按从小到大的顺序排序吗?相关的知识,希望对你有一定的参考价值。

    对于单独这个方法中int来说  确实从小到大排序。

    对于学生类来说,里面储存多个属性,如有学号和年龄。要求先按年龄排序,如果年龄相同按学号排 就要用到 Arrays.sort()方法与compareable接口一起用来发挥作用·

参考技术A 对指定的 int 型数组按数字升序进行排序

是的 从小到大排序。
参考技术B 是从大到小排序

如何使用Arrays.sort()对二维数组排序

直接上代码:

按照第一维排序:

public static void main(String[] args){

        int[][] nums=new int[][]{{1,3},{1,2},{4,5},{3,7}};
        //方法一
        Arrays.sort(nums,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];
                }
            }
        });

        //方法二
        /*Arrays.sort(nums,(a,b)->a[0]-b[0]);*/
        for (int[] num : nums) {
            System.out.println(Arrays.toString(num));
        }
    }

结果:

[1, 2]
[1, 3]
[3, 7]
[4, 5]

按照第二维排序:

public static void main(String[] args){

        int[][] nums=new int[][]{{1,3},{1,2},{4,5},{3,7}};
        //方法一
        Arrays.sort(nums,new Comparator<int[]>(){
            public int compare(int[] a,int[] b){
                if(a[1]==b[1]){
                    return a[0]-b[0];
                }else{
                    return a[1]-b[1];
                }
            }
        });

        //方法二
        /*Arrays.sort(nums,(a,b)->a[1]-b[1]);*/
        for (int[] num : nums) {
            System.out.println(Arrays.toString(num));
        }
    }

结果:

[1, 2]
[1, 3]
[4, 5]
[3, 7]

 

以上是关于Arrays.sort()方法的功能是将数组里的元素按从小到大的顺序排序吗?的主要内容,如果未能解决你的问题,请参考以下文章

Java中对数组升序排列用Arrays.sort( )方法,那降序排列用啥方法?

关于JAVA数组,Arrays为啥直接可以使用sort方法不用建对象

Arrays 类操作 Java 的数组排序

java中如何使用arrays.sort()对二维数组排序?

使用 Arrays 类操作 Java 中的数组

ava对数组元素排序的三种方式