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

相关推荐
Javatutouhouduan2 天前
RocketMQ是怎么保存偏移量的?
java·消息队列·rocketmq·java面试·消息中间件·后端开发·java程序员
GEM的左耳返6 天前
Java面试深度剖析:从JVM到云原生的技术演进
jvm·spring boot·云原生·中间件·java面试·分布式架构·ai技术
渣瓦攻城狮6 天前
互联网大厂Java面试场景解析:核心技术点与业务场景的深度结合
分布式事务·微服务架构·java面试·线程池优化·高并发设计
识君啊11 天前
Java双指针 - 附LeetCode 经典题解
java·算法·leetcode·java基础·双指针
小陈Coding14 天前
互联网大厂Java面试实录:电商音视频内容社区场景深度解析
aigc·音视频·java面试·电商·技术面试·互联网大厂·内容社区
Java爱好狂.14 天前
RDB&AOF持久化原理解析
java·数据库·redis·后端开发·java编程·java程序员·java八股文
蛐蛐蜉蝣耶15 天前
互联网大厂Java面试实录:当严肃面试官遇上搞笑程序员谢飞机
spring boot·微服务·java面试·电商系统·分布式系统·技术面试·程序员面试
蛐蛐蜉蝣耶16 天前
互联网大厂Java面试实录:严肃面试官vs搞笑水货程序员的3轮技术对决
spring boot·微服务·高并发·java面试·电商系统·java开发·面试技巧
蛐蛐蜉蝣耶17 天前
互联网大厂Java面试实录:严肃面试官VS搞笑水货程序员谢飞机的技术对决
spring boot·微服务·java面试·电商系统·java开发·技术面试·程序员面试