Arraylist与LinkedList的区别

Arraylist


概念

  1. Arraylist非线程安全
  2. Arraylist 底层使用的是Object数组
  3. ArrayList 采用数组存储,插入和删除元素的时间复杂度受元素位置的影响
  4. ArrayList 支持快速随机访问,就是通过元素的序号快速获取元素对象
  5. ArrayList的空间浪费主要体现在列表的结尾会预留一定的容量空间
  6. Arraylist可变大小的,可以动态的扩容
  7. ArrayList底层是数组,查询快,增删慢

LinkedList


概念

  1. LinkedList非线程安全
  2. LinkedList 底层使用的是双向链表
  3. LinkedList 采用链表存储,插入删除元素时间复杂度不受元素位置的影响
  4. LinkedList 在添加和删除元素时比Arraylist性能更好一些
  5. LinkedList 不支持高效的随机元素访问
  6. LinkedList的占用空间更大,因为LinkedList要存放直接后继和直接前驱以及数据
  7. LinkedList底层是链表,查询慢、增删快

相关推荐
唐僧洗头爱飘柔952715 天前
【Java基础】正则表达式的使用与常用类分享
java·开发语言·正则表达式·java基础·pattern·java se·java必备技能
Java 第一深情23 天前
面试题解,JVM的运行时数据区
jvm·java面试
Javatutouhouduan1 个月前
如何系统全面地自学Java语言?
java·后端·程序员·编程·架构师·自学·java八股文
非学无以质疑2 个月前
Java中的SPI机制
java·后端·编程语言·java面试
飞滕人生TYF2 个月前
Java retainAll() 详解
java·开发语言·windows·java基础
木小同2 个月前
JAVA基础之NIO
面试·java基础·nio
linweidong3 个月前
宁德时代Java面试题及参考答案
java·大厂面试·后端面试·java面试·java面经·java校招·后端offer
阑梦清川3 个月前
Java--集合(三)之vector&linkedlist&hashset结构
java·vector·集合·linkedlist·hashcode·vectorhashcode
雷神乐乐3 个月前
JavaSE——集合4:List接口实现类—LinkedList
java·arraylist·linkedlist
小小怪下士 XIA3 个月前
JAVA的ArrayList 和 LinkedList的区别
java·开发语言·计算机·程序员·arraylist·linkedlist·区别