Java中ArrayList、LinkedList与Vector的区别

ops/2024/9/23 20:18:10/

ArrayList

ArrayList是一个可以改变大小的数组,当更多的元素加入到ArrayList中时,其大小将会动态的增长,内部的元素可以直接通过get与set方法进行访问,因为ArrayList本质上就是一个数组。

LinkedList

LinkedList是一个双向链表,在添加和删除元素时具有比ArrayLiat更好的性能,但是在get与set方面若于ArrayList。当然,这些对比都是指数据量很大或者操作很频繁的情况下的对比,如果数据和运算量很小,那么对比将失去意义。

Vector

Vector和ArrayList类似,但属于强同步类。如果你的程序本省是线程安全的,那么使用ArrayList是更好的选择;Vector和ArrayList在更多元素添加进来时会请求更大的空间。Vector每次请求其大小双倍的空间,而ArrayList每次对size增长50%


http://www.ppmy.cn/ops/37197.html

相关文章

15【PS作图】像素画地图绘制

绘制视角 绘制地图的时候,有的人会习惯把要绘制的 房子、车子、围栏 小物件先画好,然后安放在地图上 但这样绘制出的各种物件之间,会缺乏凝聚力 既然物品都是人构造出的,不如以人的视角去一步步丰富地图; 比如下图…

算法训练营第二十一天 | LeetCode 513 找树左下角的值、LeetCode 112 路径总和、LeetCode 106 从中序与后序遍历构造二叉树

LeetCode 513 找树左下角的值 这题要求找树最底层最左边节点的值,用单纯的迭代法、递归法都不太好处理,一般的层序遍历法也不太行。但是可以修改下层序遍历,改成每一层从右往左遍历,依次往下,这样子访问的最后一个节点…

layui的treeTable组件,多层级上传按钮失效的问题解决

现象描述: layui的treeTable 的上传按钮在一层能用,展开后其他按钮正常点击,上传按钮无效。 具体原因没有深究,大概率是展开的子菜单没有被渲染treeTable的done管理到,导致没有重绘上传按钮。 解决方案: 不使用layu的上传组件方法…

【C++】string类的模拟实现

一、经典的string类问题 上一期,我们已经对string类有了简单的了解,大家能正常使用即可。在面试中,面试官喜欢让同学们自己来模拟实现string类,主要是实现string类的构造、拷贝构造、赋值运算符重载以及析构函数。请看以下string…

Nginx配置多个前端项目

1、修改nginx.conf配置文件; 2、必须包含默认的跟路径 location / { root D:/work/nginx-1.22.0/html; index index.html; } 3、添加要访问的前端项目信息,必须使用alias而不能使用root location /…

搭建Docker私有镜像仓库

大家好,今天给大家分享一下如何搭建私有镜像仓库,私有镜像仓库可以更好地管理和控制镜像的访问和使用,确保只有授权的人员能够获取和使用特定的镜像,而且方便团队内部共享定制化的镜像,提高开发和部署效率,…

人大金仓V8R6迁移mysql8.0

人大金仓数据库迁移mysql mysql版本:mysql 8.0.22 人大金仓版本;KingbaseES V008R006C008B0014 on x64 打开数据迁移工具 等待执行完成后使用命令窗口中提示的地址在浏览器中打开: 登录。此处登录不用修改任何信息,点击登录即可 新建源数…

数据结构-线性表-应用题-2.2-14

1&#xff09;算法基本设计思想&#xff1a; 2&#xff09;c语言描述&#xff1a; #define INT_MAX 0X7FFFFFFF int abs_(int a) {//绝对值if(a<0) return -a;else return a; } bool min(int a,int b,int c){if(a<b&&a<c) return true;else return false; } …