У меня есть матрица, состоящая из чисел единиц и нулей и одной цифры девять .Я хотел бы найти индексную позицию этого числа, но вместо использования для циклов я хотел бы использовать лямбда-выражения.Кто-нибудь может мне помочь с таким вопросом?
Вот мой код:
import java.util.Arrays;
public class FindArrayIndex {
static final int[][] MATRIX = new int[][] {{1,0,0},{1,0,1},{1,9,0}};
static final int NINE = 9;
public static void main(String[] args){
printMatrix(MATRIX);
printMatrixIndexPosition(findMatrixIndexPosition(MATRIX, NINE));
}
private static void printMatrixIndexPosition(MatrixIndexPosition mip) {
System.out.println(mip);
}
static void printMatrix(int[][] matrix){
Arrays.stream(matrix).map(Arrays::toString).forEach(System.out::println);
}
static MatrixIndexPosition findMatrixIndexPosition(int[][] matrix, int searchNumber){
final int rows = matrix.length;
final int columns = matrix[0].length;
MatrixIndexPosition mip = null;
outter : for(int i = 0; i < rows; i++){
for(int j = 0; j < columns; j++){
if(matrix[i][j] == searchNumber) {
mip = new MatrixIndexPosition(i, j);
break outter;
}
}
}
return mip;
}
}
class MatrixIndexPosition {
int row;
int column;
public MatrixIndexPosition(int row, int column){
this.row = row;
this.column = column;
}
public String toString(){
return String.format("row index: %d \ncol index: %d", row, column);
}
}