读书人

以查询回比较arrylist与linkedlist的速

发布时间: 2013-11-08 17:51:56 作者: rapoo

以查询来比较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

读书人网 >编程

热点推荐