Java-ArrayList和LinkedList区别

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

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

相关推荐
大傻^3 分钟前
Spring AI 2.0 多模型提供商配置:OpenAI、Gemini、Anthropic 与 Ollama 深度集成
java·人工智能·spring·springai
爱丽_4 分钟前
JVM 堆参数怎么设:先建立内存基线,再谈性能优化
java·jvm·性能优化
cyforkk15 分钟前
IntelliJ IDEA 配置 Java 类全局注释模板操作指南
java·ide·intellij-idea
代码探秘者19 分钟前
【大模型应用】6.RAG 场景下的向量+关键词混合检索
java·开发语言·人工智能·python·spring
猿小路21 分钟前
SVN安装及IDEA集成详细使用教程
java·svn·intellij-idea
spencer_tseng23 分钟前
ojdbc6-1.0.0.jar xmlworker-1.0.0.jar
java·maven·jar
Amour恋空44 分钟前
Nacos服务发现与配置
java·后端·服务发现
chikaaa1 小时前
RabbitMQ 核心机制总结笔记
java·笔记·rabbitmq·java-rabbitmq
咕叽吧咔1 小时前
LeetBook乐扣题库 142. 环形链表 II
java·数据结构·leetcode·链表
Sylvia33.1 小时前
体育数据API实战:用火星数据实现NBA赛事实时比分与状态同步
java·linux·开发语言·前端·python