迭代二维数组的不同方法

时间:2018-05-03 11:06:26

标签: java loops for-loop multidimensional-array foreach

我正在为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 :(得分:-2)

你错过了foreach组合:

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

您也可以使用while循环代替for。您能否更具体地了解背景情况,以便我们能够为您提供所需的帮助?