在java中遍历二维数组

在java中遍历二维数组,java,Java,我在教程中看到,我可以通过以下方式遍历对象数组: Animals[] an = new Animals[2]; for (Animals a:an){ . . } 但是现在我想遍历一个二维数组,当我使用这段代码时,我遇到了一个问题(比如:不兼容的类型) 必填项:1.动物 foundLappl1.动物[])。当我使用这个代码时 Animals[][] an = new Ani

我在教程中看到,我可以通过以下方式遍历对象数组:

     Animals[] an = new Animals[2];

         for (Animals a:an){
                 .
                 .
         }
但是现在我想遍历一个二维数组,当我使用这段代码时,我遇到了一个问题(比如:不兼容的类型) 必填项:1.动物 foundLappl1.动物[])。当我使用这个代码时

   Animals[][] an = new Animals[2][2];

      for (Animals a:an){
             .
             .
       }

有人知道我如何克服这些问题吗。提前感谢您的帮助。

二维数组实际上是数组的数组。您需要嵌套循环:外部循环通过数组数组,内部循环通过每个单独数组的元素

Animals[][] ann = new Animals[2][2];

for (Animals[] an:ann){
    for (Animals a:an){
         .
         .
    }
}

二维数组实际上是数组的数组。您需要嵌套循环:外部循环通过数组数组,内部循环通过每个单独数组的元素

Animals[][] ann = new Animals[2][2];

for (Animals[] an:ann){
    for (Animals a:an){
         .
         .
    }
}
您将需要使用嵌套循环,如下所示:

Animals[][] an = new Animals[2][2];

for (Animals[] inner : an) {
    for (Animals a : inner) {
        // Execute code on "Animals" object a
    }
}

为什么这样做?

请看您的第一个示例(为了方便起见,在此处重新发布):

这是因为
an
Animals
对象的数组。
for
循环遍历每个
Animals
对象,对它们逐个执行一些操作

现在看看我在上面发布的答案(同样,在这里转载以供参考):

这是因为
一个
是一组
动物[]
对象。
的第一个
循环遍历每个
动物[]
。此时,您有一个Animals对象数组,因此可以使用与上面相同的解决方案:单个
for
循环迭代每个
Animals
对象,并对它们逐个执行一些操作。

您将需要使用嵌套循环,如下所示:

Animals[][] an = new Animals[2][2];

for (Animals[] inner : an) {
    for (Animals a : inner) {
        // Execute code on "Animals" object a
    }
}

为什么这样做?

请看您的第一个示例(为了方便起见,在此处重新发布):

这是因为
an
Animals
对象的数组。
for
循环遍历每个
Animals
对象,对它们逐个执行一些操作

现在看看我在上面发布的答案(同样,在这里转载以供参考):


这是因为
一个
是一组
动物[]
对象。
的第一个
循环遍历每个
动物[]
。在这一点上,您有一个Animals对象数组,因此您可以使用与上面相同的解决方案:单个
for
循环迭代每个
Animals
对象,并对它们逐个执行一些操作。

这是正确的。你不能用一个循环来做这件事…不是没有困难的。这是正确的。你不能用一个循环来做这件事…不是没有困难的。