如何用java做数组乱序?

如何用java做数组乱序?

用java做了一个数组乱序,首先建立快速排序算法,排序的依据是根据序列中随机产生的序列号,序列号利用map保证在每次排序过程中只产生一次,不知道有没有效率更高的方法,大家咚咚脑筋哈

    
public   static   void  randomList(List list) {
        Collections.sort(list, 
new  Comparator(){
            HashMap map 
=   new  HashMap();
            
public   int  compare(Object v1, Object v2) {
                init(v1);
                init(v2);
                
                
double  n1  =  ((Double)map.get(v1)).doubleValue();
                
double  n2  =  ((Double)map.get(v2)).doubleValue();
                
if (n1  >  n2)
                    
return   1 ;
                
else   if (n1  <  n2)
                    
return   - 1 ;
                
return   0 ;
            }
            
private   void  init(Object v){
                
if (map.get(v)  ==   null ){
                    map.put(v, 
new  Double(Math.random()));
                }
            }
            
protected   void  finalize()  throws  Throwable {
                map 
=   null ;
            }
        });
    }


 @2008 杨一. 版权所有. 保留所有权利

你可能感兴趣的:(如何用java做数组乱序?)