java 按行遍历比按列遍历快,打印多维数组

时间:2021-05-01 19:00:08

经过实际测验发现了这个结论,并且 java二维数组貌似最多支持一百万个元素。

举例:

public class MultiArrayTest {
public static void main(String[] args) {
int a[][]=new int[5000][5000];

long currTime=System.currentTimeMillis();
for (int i=0;i<5000;i++)
for (int j=0;j<5000;j++)
a[i][i]=i+j;
System.out.println(System.currentTimeMillis()-currTime+" ms");

long currTime2=System.currentTimeMillis();
for (int i=0;i<5000;i++)
for (int j=0;j<5000;j++)
a[j][i]=i+j;
System.out.println(System.currentTimeMillis()-currTime2+" ms");
}
}

输出:

31 ms
234 ms


打印多维数组可以用 deepToString, 或者 用 foreach 方法遍历打印

举例:

public class MultiArrayTest {
public static void main(String[] args) {
int a[][]=new int[5][5];

long currTime=System.currentTimeMillis();
for (int i=0;i<5;i++)
for (int j=0;j<5;j++)
a[i][j]=i+j;

System.out.println(Arrays.deepToString(a));

for (int[] i:a)
for (int j:i)
System.out.print(j +" ");
}
}

输出:

[[0, 1, 2, 3, 4], [1, 2, 3, 4, 5], [2, 3, 4, 5, 6], [3, 4, 5, 6, 7], [4, 5, 6, 7, 8]]
0 1 2 3 4 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8