先看下类图:

相同点:

  都实现了List接口和Collection;

不同点:

  1、ArrayList是基于数组实现的;LinkedList是基于链表实现的;

  2、ArrayList随机查询速度快;LinkedList插入和删除速度快;

原理解析:

  ArrayList是基于数组实现的,他的特性就是可以使用索引来提升查询效率;插入和删除数组中某个元素,会导致其后面的元素需要重新调整索引,产生一定的性能消耗;

  LinkedList是基于链表实现的,没有索引,所以查询效率不高,但是插入和删除效率却很高;为什么呢?因为链表里插入或删除某个元素,只需要调整前后元素的引用即可;

最新文章

  1. Maven打包含有Main方法jar并运行
  2. Winform API "user32.dll"中的函数
  3. http://bbs.ednchina.com/BLOG_345002072_2001308.HTM
  4. ios UIView sizeToFit sizeThatFits
  5. celery与mangodb搭配应用
  6. Java去除掉HTML里面所有标签的两种方法——开源jar包和自己写正则表达式
  7. Yours 的博客开张啦!
  8. 0基础学习ios开发笔记第二天
  9. Lucene.net 从创建索引到搜索的代码范例
  10. 利用BP神经网络预测水道浅滩演变
  11. spark-shell启动报错:Yarn application has already ended! It might have been killed or unable to launch application master
  12. 对抗明文口令泄露 —— Web 前端慢 Hash
  13. 网络基础之HTTP、TCP/IP、Socket
  14. Gradle安装和在Eclipse中的使用
  15. springcloud使用zookeeper作为config的配置中心
  16. shell 脚本部分变量含义
  17. [dpdk][kernel][driver] 如何让DPDK的UIO开机自动加载到正确的网卡上
  18. Python3基础 list for+continue 输出1-50之间的偶数
  19. 浅入 dancing links x(舞蹈链算法)
  20. Swap交换分区--continue

热门文章

  1. Java 可变长参数列表
  2. Sublime +Markdown+OmniMarkupPreviewer 搭建实时预览的markdown编辑器
  3. mysql group by的特殊性
  4. Java Object类 instanceof关键字 练习:判断是否为同一人 集合按照人的年龄排序,如果年龄相同按名字的字母顺序升序 Comparator比较器
  5. 新环境安装 python3
  6. 拖拽图片到另一个div里
  7. redis主从+哨兵模式
  8. python hashlib模块学习
  9. 线段树、前缀数组:HDU1591-Color the ball(区间更新、简单题)
  10. 12864点阵液晶显示模块的原理和实例程序(HJ12864M-1)