我知道如何为一个字符串做:
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]);
}
}