很伤心的是,今天碰见一个问题,遍历N维数据的问题,当然在平时我们很难碰见过这样的问题,毕竟N维难以考虑。。
在这里强调一下,数据的长度是指在这个数组中具有子元素的个数,并不是狭义上的长度的表达意思。
遍历的话应该想到用降维的思路,先考虑一下二维数据。
package com.test.test;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int [][] array=new int[3][3];
int k = 0;
for (int is [] : array) {
for (int i : is) {
k++;
i=k;
System.out.print(i);
}
System.out.print("\n");
}
System.out.println(k);
}
}
我在这里纠结了一下,因为foreach中int[] is和int is []的区别着实让我懵逼了一下,,,,,这时候要回归到数据的基础: 二维数据的表达方式
int array [][]={{1,2,3},{4,5,6}}; -------------2*3
所以在第一次foreach时,存入is[]中的是每一个一维数据(也可以理解成二维降到一维数据进行存储)
所以在第二次foreach时,就是对于每一个一维数据进行遍历了。
另外,巩固一下for的用法
test
package com.test.test;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int [][] array=new int[3][3];
int k = 0;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
}
}
}
}
“`