我可以通过foreach循环从java中的2D数组中获取一行,例如:
int[][] array = new int[5][5]
for (int[] row : array) {
for (int c : row) {
}
}
但是如何通过 foreach 循环获得列形式的 2D 数组?或者这是否可以通过 foreach 循环从 2D 数组中获取列?
谢谢。
一种选择可以是
int i =0;
for (int k : array[0]){
for (int[] row : array) {
System.out.println(row[i]);
}
i++;
}
这
是不可能的。你必须使用传统的 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];
}
}
2D 数组只是一个概念含义。 事实上,二维数组是多个一维数组的组合。因此,如果不使用计数器,则无法访问列。即使您用于每个循环,您也需要一个计数器。
如果您需要获取所有列,则可以使用列数进行循环。但在这种情况下,所有行都应具有相同数量的列(元素)
public static void main(String[] args)
{
int [][] yourArray = {{1,2,3,4,5,6},//sample 2d array with 6 rows and six columns
{1,2,3,4,5,6}, //this is actually a collection of 6 different 1d arrays
{1,2,3,4,5,6},
{1,2,3,4,5,6},
{1,2,3,4,5,6},
{1,2,3,4,5,6}};
int yourColumn = 3; //example of selected column (be careful columns start from 0)
for(int[] row: yourArray)
{
System.out.println(row[yourColumn]);
}
}