Tra*_*ray 8 java arrays iteration
我有一个' int[][]' 形式的数组,代表一个小网格的坐标.每个坐标都被赋予了自己的价值.例如array[0][4] = 28......
我有两个问题.首先,如何遍历所有存储的值.其次,我希望能够输入一个值并在网格中返回其特定的坐标.什么是最好的方法来解决这个问题?
感谢您的任何帮助!
Jon*_*eet 25
您可以使用for循环或增强for循环进行迭代:
for (int row=0; row < grid.length; row++)
{
for (int col=0; col < grid[row].length; col++)
{
int value = grid[row][col];
// Do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
要么
// Note the different use of "row" as a variable name! This
// is the *whole* row, not the row *number*.
for (int[] row : grid)
{
for (int value : row)
{
// Do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
第一个版本将是"找到坐标"问题的最简单的解决方案 - 只需检查内循环中的值是否正确.
使用循环迭代值:
int[][] matrix
//...
for(int row[] : matrix)
for(int cell : row){
//do something with cell
}
Run Code Online (Sandbox Code Playgroud)
要根据值访问坐标,您需要某种双散列图(查看 java.util.HashMap),但我不知道有什么可以直接这样做