二维数组按第一列排序

有的时候可能会碰到要将二维数组按第一列的数字大小进行排序的情况,就需要重新数组的排序方法。
经常会忘记,就记录一下重写的方法。

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

/**
 * 对二维数组按第一列进行排序
 */
public class MatrixSort {

    public static void main(String[] args) {
        int[][] matrix = new int[][]{
                {3, 5, 2, 10},
                {17, 2, 4, 2},
                {1, 3, 5, 1}
        };
        // 重写排序方法
        Arrays.sort(matrix, new Comparator<int[]>() {

            @Override
            public int compare(int[] o1, int[] o2) {
                return o1[0] - o2[0]; // 从小到大
//                return o2[0] - o1[0]; // 从大到小
            }
        });

        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[0].length; j++) {
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println();
        }
    }

}

按第一列从小到大的输出:
二维数组按第一列排序_第1张图片
按第一列从大到小
二维数组按第一列排序_第2张图片

你可能感兴趣的:(总结,java)