在 Java 数组的第一列中找到最大的数字
Find the Largest number in the first column of Java Array
我有一个数组
int [ ][ ] matrix = {{ 10, 23, 93, 44 },{ 22, 34, 25, 3 },{ 84, 11, 7, 52 }};
我想在这个数组的第一列找到最大值,即 84
这是我的整个代码,它给出了这个数组中每一列的最大值
public class Sample {
public static void main(String[] args) {
int[][] matrix = {{10, 23, 93, 44}, {22, 34, 25, 3}, {84, 11, 7, 52}};
int[] max = matrix[0];
for (int row = 1; row < matrix.length; row++) {
for (int column = 0; column < matrix[0].length; column++) {
if (matrix[row][column] > max[column]) {
max[column] = matrix[row][column];
}
}
}
for (int number : max) {
System.out.print(number + " ");
}
}}
public static void main(String[] args) {
int[][] matrix = {{10, 23, 93, 44}, {22, 34, 25, 3}, {84, 11, 7, 52}};
int max = matrix[0][0];
for (int row = 1; row < matrix.length; row++) {
if (max < matrix[row][0]) {
max = matrix[row][0];
}
}
System.out.println(max);
}
如果只求一列的最大值,则不需要嵌套循环:
static int maxOfFirstColumn(int[][] arr) {
int max = Integer.MIN_VALUE;
for (int[] row : arr) {
if (null != row && row.length > 0) {
max = Math.max(max, row[0]);
}
}
return max;
}
使用流的解决方案API:
static int maxOfFirstColumn(int[][] arr) {
return Arrays.stream(arr) // Stream<int[]>
.filter(Objects::nonNull)
.filter(row -> row.length > 0)
.mapToInt(row -> row[0]) // IntStream
.max()
.getAsInt();
}
我有一个数组
int [ ][ ] matrix = {{ 10, 23, 93, 44 },{ 22, 34, 25, 3 },{ 84, 11, 7, 52 }};
我想在这个数组的第一列找到最大值,即 84
这是我的整个代码,它给出了这个数组中每一列的最大值
public class Sample {
public static void main(String[] args) {
int[][] matrix = {{10, 23, 93, 44}, {22, 34, 25, 3}, {84, 11, 7, 52}};
int[] max = matrix[0];
for (int row = 1; row < matrix.length; row++) {
for (int column = 0; column < matrix[0].length; column++) {
if (matrix[row][column] > max[column]) {
max[column] = matrix[row][column];
}
}
}
for (int number : max) {
System.out.print(number + " ");
}
}}
public static void main(String[] args) {
int[][] matrix = {{10, 23, 93, 44}, {22, 34, 25, 3}, {84, 11, 7, 52}};
int max = matrix[0][0];
for (int row = 1; row < matrix.length; row++) {
if (max < matrix[row][0]) {
max = matrix[row][0];
}
}
System.out.println(max);
}
如果只求一列的最大值,则不需要嵌套循环:
static int maxOfFirstColumn(int[][] arr) {
int max = Integer.MIN_VALUE;
for (int[] row : arr) {
if (null != row && row.length > 0) {
max = Math.max(max, row[0]);
}
}
return max;
}
使用流的解决方案API:
static int maxOfFirstColumn(int[][] arr) {
return Arrays.stream(arr) // Stream<int[]>
.filter(Objects::nonNull)
.filter(row -> row.length > 0)
.mapToInt(row -> row[0]) // IntStream
.max()
.getAsInt();
}