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

相关推荐
zs宝来了1 天前
大厂面试实录:Spring Boot源码深度解析+Redis缓存架构+RAG智能检索,谢飞机的AI电商面试之旅
spring boot·redis·微服务·大厂面试·java面试·rag·spring ai
风4382 天前
2024互联网大厂Java面试实战:Spring Boot+微服务+AI技术栈深度解析(谢飞机版)
spring boot·微服务架构·java面试·电商系统·ai技术·rag架构·高并发设计
予枫的编程笔记7 天前
深度拆解美团后端一面:从压测体系到 JVM 调优的闭环面试艺术
jvm·面试·职场和发展·java面试·美团面试
风4387 天前
互联网大厂Java求职面试实战:Spring Boot+微服务+AI技术栈深度解析
spring boot·微服务·向量数据库·java面试·rag·ai技术·电商场景
better_liang10 天前
每日Java面试场景题知识点之-MySQL高并发数据一致性保障
mysql·高并发·java面试·数据一致性·企业级开发
笨手笨脚の11 天前
链表与LinkedList
java·数据结构·链表·linkedlist