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 基于双链表实现 增删快 查询慢 线程不安全
相关推荐
蓝-萧24 分钟前
springboot系列--自动配置原理
java·后端
学到头秃的suhian34 分钟前
JVM-类加载机制
java·jvm
bobogift1 小时前
【玩转全栈】----Django基本配置和介绍
java·后端
岁月玲珑1 小时前
ComfyUI如何配置启动跳转地址127.0.0.1但是监听地址是0.0.0.0,::
java·服务器·前端
007php0071 小时前
某游戏互联网大厂Java面试深度解析:Java基础与性能优化(一)
java·数据库·面试·职场和发展·性能优化·golang·php
qianbailiulimeng2 小时前
2019阿里java面试题(一)
java·后端
Bug退退退1232 小时前
ArrayList 与 LinkedList 的区别
java·数据结构·算法
LBuffer2 小时前
破解入门学习笔记题三十四
java·笔记·学习
缺点内向2 小时前
Java: 如何在Excel中添加或删除分页符?
java·excel