如何在java中通过Foreach循环获取二维数组中的列?

如何在java中通过Foreach循环获取二维数组中的列?,java,arrays,foreach,Java,Arrays,Foreach,我可以通过foreach循环从java中的2D数组中获取一行,如下所示: int[][] array = new int[5][5] for (int[] row : array) { for (int c : row) { } } 但是如何通过foreach循环获得二维数组的列形式呢?或者这是否可以通过foreach循环从2D数组中获取列 谢谢。这是不可能的。您必须使用传统的for循环: int[][] arr

我可以通过foreach循环从java中的2D数组中获取一行,如下所示:

        int[][] array = new int[5][5] 
        for (int[] row : array) {
        for (int c : row) {
        }
        }
但是如何通过foreach循环获得二维数组的列形式呢?或者这是否可以通过foreach循环从2D数组中获取列


谢谢。这是不可能的。您必须使用传统的for循环:

int[][] array = new int[5][5] 
for (int j = 0; j < array[0].length; j++) {
    for (int i = 0; i < array.length; i++) {
        int current = array[i][j];
    }
}
int[][]数组=新的int[5][5]
对于(int j=0;j
这是不可能的。您必须使用传统的for循环:

int[][] array = new int[5][5] 
for (int j = 0; j < array[0].length; j++) {
    for (int i = 0; i < array.length; i++) {
        int current = array[i][j];
    }
}
int[][]数组=新的int[5][5]
对于(int j=0;j
可以选择一种替代方案

    int i =0;
    for (int k : array[0]){
        for (int[] row : array) {
            System.out.println(row[i]);
        }
        i++;
    }
另一种选择是

    int i =0;
    for (int k : array[0]){
        for (int[] row : array) {
            System.out.println(row[i]);
        }
        i++;
    }

二维数组只是一个概念意义。实际上,二维数组是多个一维数组的组合。因此,如果不使用计数器,则无法访问列。即使每个循环都使用计数器,也需要一个计数器

如果需要获取所有列,则可以使用列数进行循环。但在这种情况下,所有行的列数(元素)应该相同


二维数组只是一个概念意义。实际上,二维数组是多个一维数组的组合。因此,如果不使用计数器,则无法访问列。即使每个循环都使用计数器,也需要一个计数器

如果需要获取所有列,则可以使用列数进行循环。但在这种情况下,所有行的列数(元素)应该相同


你能澄清这个问题吗?您想要列的索引吗?使用foreach意味着您得不到索引。如果你想要索引,请使用传统的for循环。你确定你的数组是长度和宽度相同的完美方阵(nxn)。你能澄清这个问题吗?您想要列的索引吗?使用foreach意味着您得不到索引。如果要索引,请使用传统的for循环。是否确定数组是长度和宽度相同的完美方阵(nxn)。这是一个聪明的方法:这是一个聪明的办法D