java 二维数组自定义排序
时间: 2023-11-18 19:56:52 浏览: 122
java数组自定义排序
对于Java二维数组的自定义排序,我们可以使用Comparator来实现。在Comparator中,我们需要指定泛型为int[]类型,然后重写compare方法来实现排序规则。比如,我们可以按照二维数组中每个元素的第一个元素从小到大排,如果第一个元素相同,则按照第二个元素从大到小排。具体实现可以参考以下代码:
```
int[][] arr = {{1, 2}, {3, 4}, {2, 3}, {1, 3}};
Arrays.sort(arr, new Comparator<int[]>() {
@Override
public int compare(int[] a, int[] b) {
if (a[0] != b[0]) {
return a[0] - b[0];
} else {
return b[1] - a[1];
}
}
});
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i][0] + " " + arr[i][1]);
}
```
在上面的代码中,我们首先定义了一个二维数组arr,然后使用Arrays.sort方法对其进行排序。在sort方法中,我们传入了一个Comparator对象,该对象重写了compare方法来实现排序规则。具体来说,我们首先比较每个元素的第一个元素,如果不同则按照第一个元素从小到大排,如果相同则按照第二个元素从大到小排。最后,我们使用for循环输出排序后的结果。
阅读全文