Java数据类型 Arrays VS ArraysList VS LikedList 解析

在学习Java过程中,在刷题时总是搞不清楚这三种数据结构的区别,打算写篇文章记录一下

[Arrays VS ArrayList](#Arrays VS ArrayList)

[ArrayList VS LinkedList](#ArrayList VS LinkedList)

总结

Arrays VS ArrayList

Arrays ArrayList
类型 Java的基本数据类型 Java集合框架中的一个类,实现了List接口
存储内容 基本数据类型+对象引用 对象引用
可变性 数组长度创建后不可变 长度可变
适用场景 查询元素会比较快,直接通过索引访问 添加或者删除元素,尤其是在末尾操作
提供方法 操作有限, 排序,访问,修改 方法更多,添加,删除,迭代等

ArrayList VS LinkedList

ArrayList LinkedList
实现方式 基于动态数组实现 基于双向链表实现
性能 通过索引直接访问,随机访问更快 基于链表实现,插入和删除会更快
扩容 元素达到容量时需要扩容 不需要扩容,通过增加节点增加新元素
使用场景 频繁进行随机访问 频繁进行插入和删除

总结

  • Arrays 基本数据类型 数组大小不可变 提供方法有限
  • ArrayList 基于数组实现 增删慢 查询快 线程不安全
  • Vector 基于数组实现 增删慢 查询快 线程安全 频繁加锁 释放锁 读写效率低
  • LinkedList 基于双链表实现 增删快 查询慢 线程不安全
相关推荐
程序员清风13 小时前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
皮皮林55114 小时前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
华仔啊19 小时前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing20 小时前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠1 天前
各版本JDK对比:JDK 25 特性详解
java
用户8307196840822 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide2 天前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家2 天前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺2 天前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java
用户908324602732 天前
Spring Boot + MyBatis-Plus 多租户实战:从数据隔离到权限控制的完整方案
java·后端