Arrays.sort 如何针对二维数组的每一列进行排序?

定义一个二维数组
内容为
8 7
9 5
6 4
如何使用java的Arrays.sort只根据第一个数对该数组进行排序
输出
9 5
8 7
6 4

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

/**
 * 二维数组排序示例
 * @author YY2924 2014/11/28
 * @version 1.0
 */
public class MatrixSort {
    public static void main(String[] args) {
        
        //二维数组
        Integer[][] matrix = new Integer[][] {
                {8,7},{9,5},{6,4}
        };
    
        //排序
        Arrays.sort(matrix,new Comparator<Integer[]>() {
            @Override
            public int compare(Integer[] x, Integer[] y) {
                if(x[0] < y[0]){
                    return 1;
                } else if(x[0] > y[0]){
                    return -1;
                } else {
                    return 0;
                }
            }
        });
        
        //打印
        for(Integer[] integers : matrix){
            System.out.println(Arrays.toString(integers));
        }
    }
}

温馨提示:答案为网友推荐,仅供参考
相似回答