ArrayList数组列表和LinkedList双向链表的性能分析比较
本文由发表于6年前 | Java基础 | 评论数 1 |  被围观 7,908 views+

简单的说一下传说中的ArrayList数组列表LinkedList双向链表的性能对比。既然ArrayList具有数组的特性,LinkedList具有双向链表的特性,可以分析得出下面的结论:

存储分配:

ArrayList:

本质上是使用数组存储的,所以是使用一段连续的存储单元依次存放所有的元素。

LinkedList:

是基于链表的,采用链式存储结构,用一组任意的存储单元存放所有元素。

时间性能:

ArrayList:

查找:O(1)

插入和删除:需要平均移动表长一半的元素,时间为O(n)。

LinkedList:

查找:O(n)

插入和删除:在指出需要插入或删除的结点的位置的情况下,时间为O(1)。

空间性能:

ArrayList:

需要预分配存储空间,当空间不足时,动态的增长。

LinkedList:

不需要分配存储空间,只需创建一个头结点header,随时根据需要把内存空间链接起来。

除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/arraylist-linkedlist-doubly-linked-list-and-an-array-of-performance-analysis-and-comparison.html
关键字: , ,
arthinking Java技术交流群:280755654,入门群:428693174 more
分享到:
 
2011 10/11
文章评论
    一条评论
给我留言

有人回复时邮件通知我
Java基础的相关文章
随机文章 本月热门 热评
1 JVM笔记 – 自动内存管理机制(调优案例分析与实战) 2014/11/30
2 源代码阅读方法 jQuery源码解析 核心模块core.js 2013/1/14
3 Java使用默认浏览器打开超链接 2011/5/10
4 Struts2中的Unable to load configuration错误的分析与解决方法 2011/5/22
5 JavaScript设计模式笔记汇总 | IT宅文章归档 AD 2012/12/28 2012/12/28
6 使用JavaMail发送指定网页内容到其他邮箱 2011/10/7
友情推荐 更多
破博客 文官洗碗安天下,武将打怪定乾坤。多么美好的年代,思之令人泪落。
Mr.5's Life 白天是一名程序员,晚上就是个有抱负的探索者
行知-追寻技术之美 关注大数据,分布式系统
我爱编程 编程成长轨迹
Cynthia's Blog 学习笔记 知识总结 思考感悟
 
猜您喜欢
欢迎关注我的公众号 IT宅
关于IT宅 文章归档

IT宅中的文章除了标题注明转载或有特别说明的文章,均为IT宅的技术知识总结,学习笔记或随笔。如果喜欢,请使用文章下面提供的分享组件。转载请注明出处并加入文章的原链接。 感谢大家的支持。

联系我们:admin@itzhai.com

Theme by arthinking. Copyright © 2011-2015 IT宅.com 保留所有权利.