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底层是链表,查询慢、增删快

相关推荐
零叹2 小时前
篇章六 数据结构——链表(二)
数据结构·链表·linkedlist
14L6 小时前
互联网大厂Java面试:从Spring Cloud到Kafka的技术考察
spring boot·redis·spring cloud·kafka·jwt·oauth2·java面试
Shipley Leo2 天前
2025 Java面试大全技术文章大纲
java面试
零叹8 天前
篇章四 数据结构——顺序表
java·数据结构·list·顺序表·arraylist·集合类
无心水9 天前
【后端高阶面经:MongoDB篇】41、MongoDB 是怎么做到高可用的?
java·开发语言·mongodb·java面试·高可用·后端高阶面经·后端工程师的高阶面经
无心水9 天前
【后端高阶面经:MongoDB篇】40、怎么优化MongoDB的查询性能?
java·开发语言·mongodb·java面试·后端高阶面经·后端工程师的高阶面经·java高阶面经
IPJRI9 天前
从实际的编程示例中看i++与++i的区别
java基础
在未来等你10 天前
互联网大厂Java求职面试:AI与大模型应用集成中的架构难题与解决方案
spring boot·graalvm·java面试·大模型集成·微服务设计·ai架构·rag系统
MyikJ10 天前
互联网大厂Java面试:从Spring到微服务的挑战
数据库·spring boot·微服务·saas·java面试·缓存技术
日暮南城故里11 天前
LinkedList源码分析
java·集合·linkedlist