如何判断数组内的各元素相等?

作业的问题。
一个一维数组,长度已限定,比如int[] a=new int[10],我建立一系列方法对数组内的元素按照一定的规则进行更改,得到的最终数组是各个元素都相等的,即a[0]==a[1]==a[2]==……==a[9]。现在要输出每次变换后的数组。
问题就是,如何判断循环的次数???我如何知道在第几次循环后,数组才能达到我的要求?因为每次变换都要输出一次,最后一次输出应该是各项相等的。
我本来想用while,但是条件里我不会写。。。
如何判断?如何去写?

[code="java"]
int[] xx =new int[]{1,1,1,1};

    boolean jj=true;
    for(int i=0;i<xx.length;i++){
        int z= i+1;
        if(xx[i]!=xx[z]){
            jj=false;
            break;
        }

        if(i+1+1==xx.length){
            break;
        }

    }

[/code]

我想到有一个土办法可以实现之,
Map map = new HashMap();
//拿着数组的值当作key值去put这个map
for(arrays as obj){
map.put(obj,obj);
}

if(map.size==1){
//数组所有元素相等
}else if(map.size>1){
//有不等的情况
}