在Java中,先基于一个参数,然后基于第二个参数对二维数组进行排序,[JAVA]

yhuiod9q  于 2023-02-02  发布在  Java
关注(0)|答案(2)|浏览(117)

假设我有一个二维数组arr[][]

col1 col2
[1, 7]
[2, 6]
[3, 9]
[4, 1]
[5, 3]
[6, 7]

我们必须先根据col1排序,然后根据col2排序
在Java中是如何做到这一点的?特别是我们如何使用比较器来实现相同的目的?

vybvopom

vybvopom1#

尝试使用比较器链接:

Arrays.sort(arr, Comparator.<int[]>comparingInt(arr1 -> arr1[0]).thenComparing(arr1 -> arr1[1]));
System.out.println(Arrays.deepToString(arr));
frebpwbc

frebpwbc2#

使用比较器进行以下操作的一种方法是:

Arrays.sort(arr, (a,b) -> a[0] != b[0] ? a[1]-b[1] : a[0]-b[0]);

相关问题