`

以查询来比较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
分享到:
评论

相关推荐

    任务九:使用集合ArryList集合对类对象Member和Goods类的形势完成淘宝shopping”购物管理系统购物结算模块和客户管理模块

    任务九:使用集合的方法(ArryList集合对类对象Member和Goods类) 完成淘宝shopping”购物管理系统购物结算模块和客户管理模块 1.需要完成的任务 开发“淘宝Shopping购物管理系统”: (1)实现系统数据传递 (2)...

    Java项目新手java开发的一些小例子,可以提供思考,创新

    集合\bin\cn\jbit\arrylist\QQ.class (1732, 2018-05-18) 集合\bin\cn\jbit\arrylist\TestList.class (514, 2018-05-18) 集合\src\cn\jbit\arrylist\TestList.java (4480, 2018-05-18) 集合\bin\cn\jbit\arrylist (0...

    arrayList源代码

    默认构造方法初始化容量为10,而带有初始容量的构造方法可以根据传入的参数来确定初始容量大小。如果传入的容量小于等于0,则会抛出`IllegalArgumentException`异常。 #### 成员变量 ```java transient Object[] ...

    浅析ArrayList内部实现

    浅析ArrayList内部实现 ArrayList是Java集合框架中的一种常用数据结构,能够存储任意多个对象,并且可以自由扩展,弥补了数组的定长的缺陷。下面我们将深入探讨ArrayList的内部实现机理。 ArrayList的内部实现机理...

    ArrayList深度剖析与简单实用

    7. **与其他数据结构比较** ArrayList与数组相比,提供了更灵活的大小调整,但遍历速度较慢,因为需要通过索引访问。相比于LinkedList,ArrayList在插入和删除元素时效率较低,尤其是当元素位于列表中间时,因为...

    JS ArrayList

    JS模拟ArrayList JS容器类

    JAVA实现超级玛丽

    /* * AnimFrame 是一个记录游戏进程,以及当前所处的像素段的类。... //---总时间 ,记录ArryList中时间的和--,实际是为增加一个新的AniFrame服务的,因为每一个新的服务都会由图片和结束时间来定义。

    手写精简版List和ArrayList,适合新手入门学习jdk源码demo

    常见的`List`实现类有`ArrayList`、`LinkedList`等。 接着,我们来看看`ArrayList`。`ArrayList`是`List`接口的一个具体实现,它底层基于动态数组(Resizable-array)来存储元素。这使得`ArrayList`在访问元素时...

    ArrayList源码.zip

    ArrayList的核心实现是通过一个Object类型的数组来存储元素。当添加元素时,如果当前容量不足,ArrayList会自动扩容,通常扩容为原来的1.5倍。这种设计使得ArrayList在插入元素时有较好的性能表现,但删除元素特别是...

    Java中ArrayList去除重复元素(包括字符串和自定义对象)

    在Java中,我们可以使用Iterator迭代器来遍历ArrayList,并使用contains方法来判断元素是否已经在新集合中存在。如果不存在,则将其添加到新集合中。下面是一个示例代码: ```java public static ArrayList ...

    2013java面试题搜集

    32、 谈谈你来我们公司应聘工程师,你的优势是什么?? 33、 List list = new arryList( );必须这么写吗? 34、写了一个方法,参数是接口,调用方法时用接口的实现类是否可以?...................还有很多我在这...

    把无限级分类生成数组

    把无限级分类循环出来确实是一件头疼的事情。 比如,我们要循环出一个SELECT,或一个TABLE,要写一大堆判断。 有没好点的办法呢? 我的做法是生成数组,可以重复调用,...list=aa.arrylist() 代码如下:&lt;&#37; cla

    KDropDownMultipleSelection:下拉列表中的一个或多个选择

    使用:[self showPopUpWithTitle:@“ Select Country” withOption:arryList xy:CGPointMake(16,150)size:CGSizeMake(287,280)isMultiple:NO]; isMultiple =是表示多项选择isMultiple =否表示单一选择 ...

    ios多选项下拉列表(Table)

    Use: [self showPopUpWithTitle:@"Select Country" withOption:arryList xy:CGPointMake(16, 150) size:CGSizeMake(287, 280) isMultiple:NO]; isMultiple =yes means Multiple Selection isMultiple =No Means ...

    js链表操作(实例讲解)

    在JavaScript中,可以通过定义一个构造函数来实现链表的初始化,如示例代码中的ArrayList类。 ```javascript function ArrayList(){ this.head = new Node(null); this.tail = this.head; } ``` ### 知识点三:...

Global site tag (gtag.js) - Google Analytics