在 Java 中遍历字符串矩阵"columns and rows"的最佳正确方法是什么?



我知道如何为一个字符串做:

for (int i = 0; i < string.length(); i++){
    char c = string.charAt(i);        
}

但是当我有像String[][]这样的东西时,它是如何工作的?

如果你只需要访问值,那么你可以使用for-each循环:

for (String[] row: array) {
    for (String value: row) {
        // use value
    }
}

如果你想改变值,这将不起作用。在这种情况下,你需要有可用的索引。您可以使用传统的for循环(参见其他答案),或者在Java 8中使用IntStream:

IntStream.range(0, array.length).forEach(r ->
    IntStream.range(0, array[r].length).forEach(c -> {
        // use array[r][c]
    }));

如果您有双元数组/二维数组,则可以遍历它:

String[][] str = new String[10][5];// Meaning it has 10 rows and 5 columns
for(int i=0;i<rows;i++){//This will iterate through 10 rows
   for(int j=0;j<columns;j++){//For each row it will iterate through 5 columns
      System.out.println(str[i][j]);
   }
}

您可以使用类似的代码来遍历

int row = 5;
int column = 5;
String[][] table = new String[row][column];
for(int r = 0; r < row; r++){
    for(int c = 0; c < column; c++){
         System.out.println(table[r][c]);
    }
}

相关内容

最新更新