`

以查询来比较arrylist与linkedlist的速度

阅读更多
参考别人写的。

package cn.ehoo.test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
/**
 * 以查询来比较arrylist与linkedlist的速度
*@author whp
*@Email whp@ehoo.cn
*@Jan 13, 2011
*
 */
public class TestList {    
     public static final int N=50000;    
     public static List<Integer> values;    
     static{  
         Integer vals[]=new Integer[N];    
         Random r=new Random();    
         for(int i=0,currval=0;i<N;i++){    
             vals[i]=new Integer(currval);    
             currval+=r.nextInt(100)+1;   
         }    
         values=Arrays.asList(vals);// 这里把数据转换成list
     }    
  
     static long timeList(List<Integer> lst){    
         long start=System.currentTimeMillis();    
         for(int i=0;i<N;i++){   
             int index=Collections.binarySearch(lst, values.get(i));//使用二进制搜索算法来搜索指定列表,以获得指定对象。  
             if(index!=i) 
                 System.out.println("***错误***");    
         }    
         return System.currentTimeMillis()-start;    
     }    
     public static void main(String args[]){    
         System.out.println("ArrayList消耗时间:"+timeList(new ArrayList<Integer>(values)));     
         System.out.println("LinkedList消耗时间:"+timeList(new LinkedList<Integer>(values)));    
     }    
}   





我的输出是:
ArrayList消耗时间:16
LinkedList消耗时间:24171
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics