How do I use two for loops to loop through a 2D array? for example- 1st for loop --- for(int step = 0; step<array.length; step++){
2nd for loop ---
As you have a 2-d array, you have two length values for each loop:
//you have this? array[][];
for(int i = 0; i < array.length; ++i) {
for(int j = 0; j < array[i].length; ++j) {
//do something on array[i][j]
}
}
Assuming you have arrays of strings :
for(int step = 0; step < firstLevelArray.length; step++){
String[] secondLevelArray = firstLevelArray[step];
for(int step2 = 0; step2 < secondLevelArray.length; step2++){
String s = secondLevelArray[step2];
}
}
You can use for each loops for this:
Object[][] objects = ...;
// Option 1, read only
for(Object[] arr : objects) { // 'for each Object[] in objects'
for(Object obj : arr) {
System.out.println(obj);
// obj = new Object(); // doesn't change the array
}
}
// Option 2, write (for filling the arrays)
for(Object[] arr : objects) {
for(int i = 0; i < arr.length; i++) { // standard indexing loop, can write
arr[i] = new Object();
}
}
Basically, there are two ways to scanning 2d-array:
1) By row
for(int row = 0; row < rowSize; row++){
for(int col = 0; col < colSize; col++){
// do something on array[row][col]
}
}
2) By column
for(int col = 0; col < colSize; col++){
for(int row = 0; row < rowSize; row++){
// do something on array[row][col]
}
}
Let's assume we have a two dimensional array employee of size 4X4,
int employee[ ][ ] = new int[4][4];
for(int row = 0; row < employee.length; row++)
{
for(int col = 0; col < employee[row].length; col++)
{
employee[row][col] = row * col;
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.