Java int [] [] array - 迭代并查找值

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)

第一个版本将是"找到坐标"问题的最简单的解决方案 - 只需检查内循环中的值是否正确.


use*_*579 5

使用循环迭代值:

 int[][] matrix   
 //...
 for(int row[] : matrix)
     for(int cell : row){
      //do something with cell
    }
Run Code Online (Sandbox Code Playgroud)

要根据值访问坐标,您需要某种双散列图(查看 java.util.HashMap),但我不知道有什么可以直接这样做