有的时候可能会碰到要将二维数组按第一列的数字大小进行排序的情况,就需要重新数组的排序方法。
经常会忘记,就记录一下重写的方法。
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();
}
}
}
按第一列从小到大的输出:
按第一列从大到小