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

相关推荐
杨不易呀32 分钟前
Java面试高阶篇:Spring Boot+Quarkus+Redis高并发架构设计与性能优化实战
spring boot·redis·高并发·分布式锁·java面试·quarkus
杨不易呀6 天前
Java面试全栈解析:Spring Boot、Kafka与Redis实战揭秘
spring boot·redis·微服务·kafka·java面试·分布式系统·缓存优化
在未来等你6 天前
互联网大厂Java求职面试:云原生与AI融合下的系统设计挑战-1
云原生·kubernetes·分布式事务·微服务架构·java面试·service mesh·ai集成
在未来等你7 天前
互联网大厂Java求职面试:高并发系统设计与架构实战
性能优化·消息队列·分布式事务·微服务架构·java面试·jvm内存模型·高并发系统设计
风清扬20178 天前
面试现场“震”情百态:HashMap扩容记
线程池·线程安全·arraylist·扩容机制·redis集群·标签: hashmap·concurrenthashmap
编程火箭车8 天前
用手机相册教我数组概念——照片分类术[特殊字符][特殊字符]
数据结构·java基础·数组·编程入门·array·数组初始化·照片管理
在未来等你9 天前
互联网大厂Java面试:从Spring到微服务的技术探讨
数据库·spring boot·微服务·java面试·技术栈·互联网大厂
xbhog11 天前
Java大厂硬核面试:Flink流处理容错、Pomelo JVM调优、MyBatis二级缓存穿透防护与Kubernetes服务网格实战解析
websocket·flink·kubernetes·mybatis·graalvm·springcloud·java面试
xbhog15 天前
Java大厂面试突击:从Spring Boot自动配置到Kafka分区策略实战解析
spring boot·kafka·mybatis·java面试·分布式架构
禅与Bug的修复艺术16 天前
JAVA后端开发常用的LINUX命令总结
java·linux·面试·java面试·后端开发·java后端·面试经验