Java-ArrayList和LinkedList区别

  1. ⾸先,他们的底层数据结构不同,ArrayList底层是基于数组实现的,LinkedList底层是基于链表实现的
  2. 由于底层数据结构不同,他们所适⽤的场景也不同,ArrayList更适合随机查找,LinkedList更适合删除和添加,查询、添加、删除的时间复杂度不同
  3. 另外ArrayList和LinkedList都实现了List接⼝,但是LinkedList还额外实现了Deque接⼝,所以LinkedList还可以当做队列来使用

注:1,2两点可以结合来看,ArrayList之所以查询更快就是因为底层实现逻辑是数组,同样的,LinkedList之所以更适合增删也是因为其底层实现是基于链表,可以通过修改指针指向来快速的完成新增和删除

相关推荐
SimonKing几秒前
拯救大文件上传:一文彻底彻底搞懂秒传、断点续传以及分片上传
java·后端·架构
深栈解码几秒前
JUC并发编程 内存布局和对象头
java·后端
北方有星辰zz14 分钟前
数据结构:栈
java·开发语言·数据结构
Seven9715 分钟前
一个static关键字引发的线上故障:深度剖析静态变量与配置热更新的陷阱
java
山野万里__17 分钟前
C++与Java内存共享技术:跨平台与跨语言实现指南
android·java·c++·笔记
风象南19 分钟前
Spring Shell命令行工具开发实战
java·spring boot·后端
Java技术小馆23 分钟前
POST为什么发送两次请求
java·面试·架构
天天摸鱼的java工程师24 分钟前
MySQL表设计实战指南:从业务场景到表结构优化
java·后端·mysql
SimonKing27 分钟前
Java处理PDF就靠它!Apache PDFBox:开源免费的PDF全能王
java·后端·程序员
天天摸鱼的java工程师30 分钟前
Java与AI:从业务场景到代码实现,构建人工客服系统实战
java·后端·面试