Различные способы перебора 2-мерного массива - PullRequest
0 голосов
/ 03 мая 2018

Я готовлюсь к экзамену Java OCA, но есть несколько каверзных вопросов о том, как выполнять итерацию многомерного массива. Итак, если бы у меня был этот массив, и я бы хотел итерировать, используя циклы for и for-each, какие бы были способы сделать это? Я обычно использовал только эти три:

int [][]matrix = {{3,4,5},{6,7,8},{9},{10,11,12}};

//First way
for (int [] a : matrix){
 for (int i =0; i<a.length;i++){
   //code
 }
}

//Second way
for (int []a: matrix){
 for (int i: a){
   //code
 }
}

//Third way
for (int i = 0; i<matrix.length; i++) {
 for (int j=0; j<matrix[a].length; j++) {
  //code
 }
}

//Fourth way???

Большое спасибо!

1 Ответ

0 голосов
/ 03 мая 2018

Вы пропустили комбинацию for, foreach:

for (int i = 0; i<matrix.length; i++) {
  for (int j: matrix[i]){
    // code
  }
}

Вы также можете использовать while петли вместо for. Можете ли вы быть более точным в отношении контекста, чтобы мы могли должным образом помочь вам с тем, что вам нужно?

...