当前位置:   article > 正文

JAVA数组排序函数sort详解(一维数组、二维数组)_java一维数组常用排序

java一维数组常用排序

1.一维数组排序

1.升序排序:

public class SortObjectsExample {
    public static void main(String[] args) {
        int[] arr = new int[]{2,5,4,9,1};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }
}

2.使用lambda函数降序排序
public class SortObjectsExample {
    public static void main(String[] args) {
        //注意这里需要使用引用数据类型Integer,不然会报错
        Integer[] arr = {2,5,4,9,1};
        Arrays.sort(arr,(a,b)->b - a);
        System.out.println(Arrays.toString(arr));
    }
}
3.通过重写Comparator类实现降序排序
public class SortObjectsExample {
    public static void main(String[] args) {
        //注意这里需要使用引用数据类型Integer,不然会报错
        Integer[] arr = {2,5,4,9,1};
        Arrays.sort(arr, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });
        System.out.println(Arrays.toString(arr));
    }
}

 

2.二维数组排序

 1.将二维数组按行进行升序排序
package sort;

import java.util.Arrays;
import java.util.Comparator;

public class SortObjectsExample {
    public static void main(String[] args) {
        //注意这里需要使用引用数据类型Integer,不然会报错
        Integer[][] arr = {{2,7},{1,4},{3,5},{3,9}};
        //将arr中各个一维数组按照第二个元素降序排序
        for (Integer[] integers : arr) {
            Arrays.sort(integers);
        }
        //直接输出二维数组
        System.out.println(Arrays.deepToString(arr));
    }
}
2.将二维数组第一列进行升序排序
package sort;

import java.util.Arrays;
import java.util.Comparator;

public class SortObjectsExample {
    public static void main(String[] args) {
        //注意这里需要使用引用数据类型Integer,不然会报错
        Integer[][] arr = {{2,7},{1,4},{3,5},{3,9}};
        //将arr中各个一维数组按照第一个元素升序排序
        Arrays.sort(arr,(a,b)->a[0] - b[0]);
        //直接输出二维数组
        System.out.println(Arrays.deepToString(arr));
    }
}

3. 将二维数组中按第二列降序排序
package sort;

import java.util.Arrays;
import java.util.Comparator;

public class SortObjectsExample {
    public static void main(String[] args) {
        //注意这里需要使用引用数据类型Integer,不然会报错
        Integer[][] arr = {{2,7},{1,4},{3,5},{3,9}};
        //将arr中各个一维数组按照第二个元素降序排序
        Arrays.sort(arr,(a,b)->b[1] - a[1]);
        //直接输出二维数组
        System.out.println(Arrays.deepToString(arr));
    }
}

 

4. 自定义Comparator类将二维数组中按第二列降序排序 
package sort;

import java.util.Arrays;
import java.util.Comparator;

public class SortObjectsExample {
    public static void main(String[] args) {
        //注意这里需要使用引用数据类型Integer,不然会报错
        Integer[][] arr = {{2,7},{1,4},{3,5},{3,9}};
        //将arr中各个一维数组按照第二个元素降序排序
        Arrays.sort(arr, new Comparator<Integer[]>() {
            @Override
            public int compare(Integer[] o1, Integer[] o2) {
                return o2[1] - o1[1];
            }
        });
        //直接输出二维数组
        System.out.println(Arrays.deepToString(arr));
    }
}

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/995510
推荐阅读
相关标签
  

闽ICP备14008679号