Java-ArrayList和LinkedList区别

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

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

相关推荐
大葱白菜10 分钟前
Java 反射的作用详解:为什么说它是 Java 中最强大的特性之一?
java·后端·程序员
Code季风12 分钟前
Spring AOP 与事务管理进阶:传播行为原理与实战指南
java·spring boot·spring
大葱白菜18 分钟前
Java 注解(Annotation)详解:从基础到实战,彻底掌握元数据驱动开发
java·后端·程序员
武昌库里写JAVA1 小时前
vue+iview+i18n国际化
java·开发语言·spring boot·学习·课程设计
你我约定有三1 小时前
RabbitMQ--Springboot解决消息丢失
java·spring boot·rabbitmq·java-rabbitmq
菠萝催学1231 小时前
日志配置Slf4j
java·数据库·spring·tomcat·maven·intellij-idea
喝可乐的希饭a1 小时前
Spring 策略模式实现
java·spring·策略模式
荒诞硬汉1 小时前
二维数组相关学习
java·算法
我有一只肥螳螂2 小时前
idea监控本地堆栈
java·ide·intellij-idea
程序员良辰2 小时前
URL与URI:互联网世界的“门牌号“与“身份证“
java·网络协议