要对Java中的二维数组进行排序,可以使用Arrays类中的sort方法,并通过Comparator来指定排序规则。以下是一个示例代码,演示如何对二维数组进行排序:
升序排列(仅按第一列元素升序排序)
代码语言:javascript复制import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
int[][] array = {{9, 5, 3}, {1, 2, 6}, {9, 2, 8}};
// 排序前
System.out.println("排序前:");
printArray(array);
// 对二维数组进行排序
Arrays.sort(array, new Comparator<int[]>() {
@Override
public int compare(int[] a, int[] b) {
return a[0] - b[0]; // 按每行第一个元素升序排序
}
});
// 排序后
System.out.println("排序后:");
printArray(array);
}
// 打印二维数组
public static void printArray(int[][] array) {
for (int[] row : array) {
for (int num : row) {
System.out.print(num " ");
}
System.out.println();
}
System.out.println();
}
}
降序排列(仅按第一列元素降序排序 )
代码语言:javascript复制import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
int[][] array = {{9, 5, 3}, {1, 2, 6}, {9, 2, 8}};
// 排序前
System.out.println("排序前:");
printArray(array);
// 对二维数组进行排序
Arrays.sort(array, new Comparator<int[]>() {
@Override
public int compare(int[] a, int[] b) {
return b[0] - a[0]; // 按每行第一个元素升序排序
}
});
// 排序后
System.out.println("排序后:");
printArray(array);
}
// 打印二维数组
public static void printArray(int[][] array) {
for (int[] row : array) {
for (int num : row) {
System.out.print(num " ");
}
System.out.println();
}
System.out.println();
}
}