📅  最后修改于: 2023-12-03 14:42:15.723000             🧑  作者: Mango
在 Java 中,打印二维数组的行和列是一个常见的需求。在本文中,我们将介绍多种方法来实现这个目标。
可以使用嵌套的 for 循环遍历二维数组,然后打印每行和每列的元素。以下是实现该方法的代码:
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 打印每行的元素
for (int i = 0; i < arr.length; i++) {
System.out.print("Row " + i + ": ");
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
// 打印每列的元素
for (int i = 0; i < arr[0].length; i++) {
System.out.print("Column " + i + ": ");
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[j][i] + " ");
}
System.out.println();
}
注释已经包含在代码中,以帮助您理解。该方法将打印以下内容:
Row 0: 1 2 3
Row 1: 4 5 6
Row 2: 7 8 9
Column 0: 1 4 7
Column 1: 2 5 8
Column 2: 3 6 9
可以使用 Java 8 引入的 stream API 来打印二维数组的行和列。以下是实现该方法的代码:
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 打印每行的元素
Arrays.stream(arr).forEach(a -> {
System.out.print("Row " + Arrays.asList(arr).indexOf(a) + ": ");
Arrays.stream(a).forEach(e -> System.out.print(e + " "));
System.out.println();
});
// 打印每列的元素
IntStream.range(0, arr[0].length).forEach(i -> {
System.out.print("Column " + i + ": ");
Arrays.stream(arr).forEach(a -> System.out.print(a[i] + " "));
System.out.println();
});
与方法一类似,该方法也将打印以下内容:
Row 0: 1 2 3
Row 1: 4 5 6
Row 2: 7 8 9
Column 0: 1 4 7
Column 1: 2 5 8
Column 2: 3 6 9
可以使用 Java 8 引入的 StreamEx 库来打印二维数组的行和列。以下是实现该方法的代码:
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 打印每行的元素
IntStreamEx.range(arr.length).forEach(i -> {
System.out.print("Row " + i + ": ");
IntStreamEx.of(arr[i]).forEach(e -> System.out.print(e + " "));
System.out.println();
});
// 打印每列的元素
IntStreamEx.range(arr[0].length).forEach(i -> {
System.out.print("Column " + i + ": ");
IntStreamEx.of(arr).mapToInt(a -> a[i]).forEach(e -> System.out.print(e + " "));
System.out.println();
});
与前两种方法相同,该方法也将打印以下内容:
Row 0: 1 2 3
Row 1: 4 5 6
Row 2: 7 8 9
Column 0: 1 4 7
Column 1: 2 5 8
Column 2: 3 6 9
以上是三种打印二维数组行列的方法。虽然这些方法都可以实现相同的目标,但适合不同的情况。您可以根据您的需求选择适合您的方法。