日期:2014-05-20  浏览次数:20757 次

如何高效遍历一个二维数组(不用递归,不用两个for循环)
Java code

public class T {

    int a[][]=new int[6][6];//当数组扩大到6000,6000时,不能运行,会抛出OutOfMemoryError,如何解决
    static Random r=new Random();
    
    public static void main(String[] args) {
        T t=new T();
        for(int i=0;i<6;i++)
            for(int j=0;j<6;j++)
                t.a[i][j]=r.nextInt(2);
        
        for(int i=0;i<6;i++){//这样遍历效率不高,有没有别的算法。
            System.out.println();
            for(int j=0;j<6;j++)
                System.out.print(t.a[i][j]+" ");
        }
    }
}



------解决方案--------------------
你增加-Xmx1024m,应该6000,6000就不会溢出,但是更大还是会溢出。

这个遍历已经是最快了,已经只是一个循环而已