sort int[][] 二维数组排序

2021-07-05  本文已影响0人  Wilbur_

今天才发现Arrays.sort 可以直接对二维数组进行排序,排序方法如下

        int[][] graph = new int[m][3];
        for (int i = 0; i < m; i++) {
            s = br.readLine().split(" ");
            int[] cur = new int[] {Integer.parseInt(s[0]), Integer.parseInt(s[1]), Integer.parseInt(s[2])};
            graph[i] = cur;
        }
        Arrays.sort(graph, (a,b) -> (a[2] - b[2]));
        // for (int[] c : graph) {
        //     System.out.println(Arrays.toString(c));
        // }

给出一个图的表示方式graph, 每一行的第三个数是两个点之间的权重(weight),然后对权重进行排序。那么

Arrays.sort(graph, (a,b) -> (a[2] - b[2]));

就可以直接排序了。这种方法简单便捷,以前以为只能通过pq的方式来实现。现在有更多的选择了。

上一篇 下一篇

猜你喜欢

热点阅读