java 二维数组的排序
时间: 2023-11-09 12:59:05 浏览: 77
可以使用Arrays类的sort方法来对二维数组进行排序。首先,我们需要定义一个Comparator来指定排序规则。下面是一个示例代码,展示如何对二维数组按照第一列的升序进行排序:
```java
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
int[][] arr = {
{4, 2},
{1, 7},
{5, 3}
};
// 使用Comparator按照第一列的升序进行排序
Arrays.sort(arr, Comparator.comparingInt(a -> a[0]));
// 输出排序后的二维数组
for (int[] row : arr) {
System.out.println(Arrays.toString(row));
}
}
}
```
输出结果:
```
[1, 7]
[4, 2]
[5, 3]
```
相关问题
java二维数组排序
要对Java中的二维数组进行排序,你可以使用Arrays类的sort方法。请看以下示例代码:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[][] arr = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}};
// 对二维数组按照每个子数组的第一个元素进行升序排序
Arrays.sort(arr, (a, b) -> Integer.compare(a[0], b[0]));
// 输出排序后的二维数组
for (int i = 0; i < arr.length; i++) {
System.out.println(Arrays.toString(arr[i]));
}
}
}
```
在上面的示例中,我们使用了lambda表达式作为比较器,按照每个子数组的第一个元素进行比较和排序。你可以根据具体需求编写自定义的比较器来对二维数组进行排序。
java 二维数组排序
以下是一个简单的示例,演示如何对二维数组进行排序:
```java
public class TwoDimensionalArraySort {
public static void main(String[] args) {
int[][] arr = {{5, 2, 8}, {9, 1, 10}, {4, 3, 7}};
sort(arr);
printArray(arr);
}
// 对二维数组进行排序
public static void sort(int[][] arr) {
int rows = arr.length;
int cols = arr[0].length;
int[] temp = new int[rows * cols];
int k = 0;
for (int[] row : arr) {
for (int val : row) {
temp[k++] = val;
}
}
Arrays.sort(temp);
k = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
arr[i][j] = temp[k++];
}
}
}
// 输出二维数组
public static void printArray(int[][] arr) {
for (int[] row : arr) {
for (int val : row) {
System.out.print(val + " ");
}
System.out.println();
}
}
}
```
在上面的示例中,我们首先定义了一个二维数组 `arr`,然后调用 `sort` 方法对其进行排序,最后调用 `printArray` 方法输出排序后的数组。在 `sort` 方法中,我们首先将二维数组转换为一维数组,然后使用 `Arrays.sort` 方法对其进行排序,最后再将排序后的结果复制回原数组。
阅读全文