import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Random; import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Date; public class TestList { public static void main(String[] args) {
List<Integer> arrayList = new ArrayList<Integer>();
List<Integer> linkList = new LinkedList<Integer>();
insertTest(linkList);// 2 ms
insertTest(arrayList);// 977 ms
getTest(linkList);// 2475 ms
getTest(arrayList);// 3 ms } public static void insertTest(List<Integer> list) {
for (int i = 0; i < 5000; i++) {// 创建数据表
for (int j = 1; j < 1000; j++) {
list.add(i + j);
}
}
Long begin = new Date().getTime();
for (int i = 3; i < 1000; i += 3) {// 插入数据
list.add(i, i);
}
Long end = new Date().getTime();
System.out.println("cost : " + (end - begin) + " ms");
System.out.println("number:" + list.size());
} public static void getTest(List<Integer> list) {
for (int i = 0; i < 5000; i++) {// 创建数据
for (int j = 1; j < 1000; j++) {
list.add(j);
}
}
Long begin = new Date().getTime();
for (int i = 3; i < 50000; i++) {// 插入数据
list.get(i);
}
Long end = new Date().getTime();
System.out.println("cost : " + (end - begin) + " ms");
System.out.println("number:" + list.size());
} /**
* 总结: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
* 2.对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。
* 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据
**/ }

  

arraylist linkedlist性能测试的更多相关文章

  1. ArrayList LinkedList Vector

    ArrayList是基于数组实现的,没有容量的限制. 在删除元素的时候,并不会减少数组的容量大小,可以调用ArrayList的trimeToSize()来缩小数组的容量. ArrayList, Lin ...

  2. ArrayList,LinkedList的对比

    ArrayList,LinkedList都是Collection接口的通用实现方式,两者采用了不用的存储策略,用来适应不同场合的需要. 实现方式 ArrayList的内部采用集合的方式存储数据 唯一需 ...

  3. ArrayList, LinkedList, Vector - dudu:史上最详解

    ArrayList, LinkedList, Vector - dudu:史上最详解 我们来比较一下ArrayList, LinkedLIst和Vector它们之间的区别.BZ的JDK版本是1.7.0 ...

  4. Hashtable,HashMap,TreeMap有什么区别?Vector,ArrayList,LinkedList有什么区别?int和Integer有什么区别?

    接着上篇继续更新. /*请尊重作者劳动成果,转载请标明原文链接:*/ /*https://www.cnblogs.com/jpcflyer/p/10759447.html* / 题目一:Hashtab ...

  5. 09 Collection,Iterator,List,listIterator,Vector,ArrayList,LinkedList,泛型,增强for,可变参数,HashSet,LinkedHashSet,TreeSet

    09 Collection,Iterator,List,listIterator,Vector,ArrayList,LinkedList,泛型,增强for,可变参数,HashSet,LinkedHas ...

  6. Vector & ArrayList Hashtable & HashMap ArrayList & LinkedList

    1. Vector & ArrayList 1)  Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的 ...

  7. java面试题(杨晓峰)---第八讲谈谈Vector,ArrayList,LinkedList有何区别?

    Vector,ArrayList,LinkedList均为线性的数据结构,但是从现实方式与应用场景中又存在差别. 1 底层实现方式 ArrayList内部数组来实现,LinkedList内部采用双向链 ...

  8. Javase之集合体系(2)之List及其子类ArrayList,LinkedList与Vector及其迭代器知识

    集合体系之List及其子类ArrayList,LinkedList与Vector及其迭代器知识 List(接口) 特点:有序(存储与取出顺序相同),可重复 List子类特点: ​ ArrayList: ...

  9. Java集合--ArrayList,LinkedList性能分析

    转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308900.html 第1部分 List概括 先回顾一下List的框架图 (01) List 是一个接口 ...

随机推荐

  1. 全文检索引擎 Lucene.net

    全文搜索引擎是目前广泛应用的主流搜索引擎.它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行 ...

  2. 给 input 中 type="text" 设置CSS样式

    input[type="text"], input[type="password"] {    border: 1px solid #ccc;    paddi ...

  3. sed命令拷屏

    http://blog.sina.com.cn/s/blog_45497dfa0100w6r3.html  sed样例较多,可以参考 http://blog.sina.com.cn/s/blog_6d ...

  4. css之cursor,float

    鼠标形状: 在html中可以任意定义各个标签的显示形状,也可以此用来做些标签显示假像. <body> <p style="cursor: pointer"> ...

  5. 如何通过SecureCRT FTP上传下载文件

    通过SecureCRT  FTP方式从一台机器下载文件到另一台机器上: [root@TEST144239 ~]# ftp 10.30.1.25 Connected to 10.30.1.25 (10. ...

  6. Android 抽屉类SlidingDrawer的使用

     比较简单,设置好SlidingDrawer控件的handle和content属性就可以了.  android:content="@+id/content"  android:ha ...

  7. 程序员书单_J2EE专题

    Enterprise JavaBeans 3.0中文版(第5版) http://download.csdn.net/detail/shenzhq1980/9104015 J2EE设计模式 http:/ ...

  8. 域控制器中的FSMO角色

    FSMO是Flexible single master operation的缩写,意思就是灵活单主机操作.营运主机(Operation Masters,又称为Flexible Single Maste ...

  9. rabbitmq例子

    安装 sudo apt-get install rabbitmq-server 开启后台管理 sudo rabbitmq-plugins enable rabbitmq_management;sudo ...

  10. 我的Android最佳实践之—— Android启动画面的实现方法

    本文实例讲述了Android启动画面的实现方法.分享给大家供大家参考.具体分析如下: 在应用程序中经常用到启动画面,会启动一个后台线程为主程序的运行准备资源.Android要实现启动画面可以这样做: ...